function rooms_unit_type_form_validate in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7
Validate callback for rooms_unit_type_form form.
See also
File
- modules/
rooms_unit/ rooms_unit_type.admin.inc, line 197 - RoomsUnit type editing UI.
Code
function rooms_unit_type_form_validate(&$form, &$form_state) {
// Validate price field.
if (!empty($form_state['values']['data']['base_price']) && !is_numeric($form_state['values']['data']['base_price'])) {
form_set_error('data][base_price', t('%name: you must enter a numeric value for the price.', array(
'%name' => t('Base price'),
)));
}
// Validate room unit description.
if (!empty($form_state['values']['data']['rooms_description_source'])) {
$source_ref = explode(':', $form_state['values']['data']['rooms_description_source']);
if (isset($source_ref[1])) {
$node = node_load($source_ref[1]);
if ($node === FALSE) {
form_set_error('data][rooms_description_source', t('You must enter a valid node.'));
}
}
else {
$result = db_select('node', 'n')
->fields('n', array(
'title',
'nid',
))
->condition('title', $source_ref[0])
->condition('n.type', 'unit_description')
->range(0, 1)
->execute()
->fetchField();
if (empty($result)) {
form_set_error('data][rooms_description_source', t('You must enter a valid node.'));
}
}
}
entity_form_field_validate('rooms_unit_type', $form, $form_state);
}