function double_field_validate_number in Double Field 7.2
Form element validation handler for numeric elements.
1 call to double_field_validate_number()
- double_field_checkbox_to_storage in ./
double_field.module - Transforms submitted checkbox values into field storage format.
2 string references to 'double_field_validate_number'
- double_field_field_widget_form in ./
double_field.module - Implements hook_field_widget_form().
- double_field_field_widget_settings_form in ./
double_field.module - Implements hook_field_widget_settings_form().
File
- ./
double_field.module, line 286 - Defines "Double field" field type.
Code
function double_field_validate_number($element, &$form_state) {
if ($element['#value']) {
$settings = $element['#subfield_settings'];
if ($settings['type'] == 'int' && !preg_match('/^-?\\d+$/', $element['#value'])) {
form_error($element, t('%name must be an integer.', array(
'%name' => $element['#title'],
)));
}
elseif ($settings['type'] == 'int' && !double_field_validate_integer_range($element['#value'], $settings['size'])) {
form_error($element, t('%name out of range.', array(
'%name' => $element['#title'],
)));
}
elseif (($settings['type'] == 'float' || $settings['type'] == 'decimal') && !is_numeric($element['#value'])) {
form_error($element, t('%name must be a valid float or decimal.', array(
'%name' => $element['#title'],
)));
}
elseif ($settings['type'] == 'decimal' && !double_field_validate_decimal_range($element['#value'], $settings['precision'], $settings['scale'])) {
form_error($element, t('%name out of range.', array(
'%name' => $element['#title'],
)));
}
}
}