create an event with validations and proper errors.