Validation allows numbers that are considered invalid by other parts of the code to be submitted
jpmckinney - August 21, 2009 - 17:42
| Project: | SMS Framework |
| Version: | 6.x-2.x-dev |
| Component: | Core Framework |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | needs review |
Jump to:
Description
sms_send_form_validate() checks if the number passes validation using sms_formatter():
<?php
function sms_send_form_validate($form, &$form_state) {
if (!sms_formatter($form_state['values']['number'])) {
form_set_error('number', t('You must enter a valid phone number.'));
}
}
?>Curiously, sms_validate_number() does not perform this check:
<?php
if (!strlen($number)) {
return t('The phone number is invalid.');
}
// Allow the active gateway to provide number validation
$gateway = sms_default_gateway();
if (function_exists($gateway['validate number']) && $error = $gateway['validate number']($number, $options)) {
return $error;
}
?>I propose it should, as that would make a lot of sense:
<?php
if (!strlen($number) || sms_formatter($number) === FALSE) {
return t('The phone number is invalid.');
}
// Allow the active gateway to provide number validation
$gateway = sms_default_gateway();
if (function_exists($gateway['validate number']) && $error = $gateway['validate number']($number, $options)) {
return $error;
}
?>
#1