function registration_entity_settings_form_validate in Entity Registration 8
Same name and namespace in other branches
- 8.2 includes/registration.forms.inc \registration_entity_settings_form_validate()
- 7.2 includes/registration.forms.inc \registration_entity_settings_form_validate()
- 7 includes/registration.forms.inc \registration_entity_settings_form_validate()
Submit handler for registration_entity_settings_form().
@array $form @array $form_state
File
- includes/
registration.forms.inc, line 686 - Form definitions and callbacks for Registration.
Code
function registration_entity_settings_form_validate($form, &$form_state) {
// Ensure capacity is a non-negative integer.
$capacity = $form_state['values']['capacity'];
if (!is_numeric($capacity) || (int) $capacity != $capacity || $capacity < 0) {
form_set_error('capacity', t('"Capacity" must be a positive integer or 0 for unlimited.'));
}
// Ensure slot limit is a non-negative integer.
$slot_limit = $form_state['values']['settings']['maximum_spaces'];
if (!is_numeric($slot_limit) || (int) $slot_limit != $slot_limit || $slot_limit < 0) {
form_set_error('maximum_spaces', t('"Spaces allowed" must be a positive integer or 0 for unlimited.'));
}
// Validate from address:
if (!valid_email_address($form_state['values']['settings']['from_address'])) {
form_set_error('settings][from_address', t('From email address is invalid.'));
}
// Validate open date:
if (!empty($form_state['values']['scheduling']['open']) && is_string($form_state['values']['scheduling']['open']) && strtotime($form_state['values']['scheduling']['open']) === FALSE) {
form_set_error('scheduling][open', t('Date is invalid.'));
}
// Validate close date:
if (!empty($form_state['values']['scheduling']['close']) && is_string($form_state['values']['scheduling']['close']) && strtotime($form_state['values']['scheduling']['close']) === FALSE) {
form_set_error('scheduling][close', t('Date is invalid.'));
}
// If sending a reminder, ensure date and template are set.
$reminder = $form_state['values']['reminder'];
if ($reminder['send_reminder'] && (empty($reminder['reminder_settings']['reminder_date']) || empty($reminder['reminder_settings']['reminder_template']))) {
form_set_error('reminder][send_reminder', t('If sending a reminder, provide a date and template.'));
}
// If reminder date or template are set, ensure we're sending a reminder.
if (empty($reminder['send_reminder'])) {
if (!empty($reminder['reminder_settings']['reminder_template'])) {
form_set_error('reminder][reminder_settings][reminder_template', t('You have provided a reminder template, but not opted to send a reminder. Either check the box to send a reminder, or do not provide a reminder template.'));
}
if (!empty($reminder['reminder_settings']['reminder_date'])) {
form_set_error('reminder][reminder_settings][reminder_date', t('You have provided a reminder date, but not opted to send a reminder. Either check the box to send a reminder, or do not provide a reminder date.'));
}
}
// Validate reminder date:
if (!empty($reminder['reminder_settings']['reminder_date']) && strtotime($reminder['reminder_settings']['reminder_date']) === FALSE) {
form_set_error('reminder][reminder_settings][reminder_date', t('Reminder date is invalid.'));
}
// Ensure reminder date is not in the past when "send_reminder" is TRUE:
if ($reminder['send_reminder'] && !empty($reminder['reminder_settings']['reminder_date'])) {
if (strtotime($reminder['reminder_settings']['reminder_date']) <= time()) {
form_set_error('reminder][reminder_settings][reminder_date', t('Reminder must be in the future.'));
}
}
}