- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
// Validate numeric field
public function validateNumber($field, $errorMessage, $min=2, $max=32){
if(!isset($_REQUEST[$field]) || !is_numeric($_REQUEST[$field])
|| strlen($_REQUEST[$field])<$min
|| strlen($_REQUEST[$field])>$max)
{
$this->errors[]=str_replace('<br>', '', $errorMessage) . '<br>';
}
}
Говнокод тут в том, что 39 оно считает числом, а 5 - нет. Какое вообще отношение имеет strlen() к validateNumber?
логические ошибки, а сама реализация задачи - говнокод
имхо имя переменной $field однозначно говорит зачем такая проверка на значение. Что касается реализации, может она не логична, но вполне удобна.
$field = $_REQUEST[$field] ?? false;
if( !is_numeric($field) || !($field >= $min && $field <= $max) ) {
$this->errors[]=str_replace('<br>', '', $errorMessage) . '<br>';
}
}