number_field_widget_validate($element, &$form_state)FAPI validation of an individual number element.
modules/field/modules/number/number.module, line 338
<?php
function number_field_widget_validate($element, &$form_state) {
$field = $form_state['field'][$element['#field_name']][$element['#language']]['field'];
$instance = $form_state['field'][$element['#field_name']][$element['#language']]['instance'];
$type = $element['#number_type'];
$value = $element['#value'];
// Reject invalid characters.
if (!empty($value)) {
switch ($type) {
case 'float':
case 'decimal':
$regexp = '@[^-0-9\\' . $field['settings']['decimal_separator'] . ']@';
$message = t('Only numbers and the decimal separator (@separator) allowed in %field.', array('%field' => t($instance['label']), '@separator' => $field['settings']['decimal_separator']));
break;
case 'integer';
$regexp = '@[^-0-9]@';
$message = t('Only numbers are allowed in %field.', array('%field' => t($instance['label'])));
break;
}
if ($value != preg_replace($regexp, '', $value)) {
form_error($element, $message);
}
else {
// Substitute the decimal separator,
if ($type == 'decimal' || $type == 'float') {
$value = strtr($value, $field['settings']['decimal_separator'], '.');
}
form_set_value($element, $value, $form_state);
}
}
}
?>