Я уверен, что решить эту проблему будет очень просто, но я не могу понять, что происходит не так.
У меня есть следующий код при отправке формы.
$error = array();
$data = array(
'recipe_name' => utf8_normalize_nfc(request_var('recipe_name', '', true)),
'recipe_desc' => utf8_normalize_nfc(request_var('recipe_desc', '', true)),
);
// Validate user input
$validate_array = array(
'recipe_name' => array('string', true, 5, 25),
'recipe_desc' => array('string', true, 5, 25),
);
$error = validate_data($data, $validate_array);
recipe_name содержит «тест имени» recipe_desc содержит «тест описания»
Когда я отправляю форму, я получаю ошибку сервера.
Где я ошибаюсь? Я искал примеры проверки данных, но до сих пор не могу определить, что я делаю неправильно.
Добавление var_dum($data) дает
array(2) { ["recipe_name"]=> string(4) "test" ["recipe_desc"]=> string(7) "testing" }
Добавление var_dump($validate_array) дает
array(2) { ["recipe_name"]=> array(4) { [0]=> string(6) "string" [1]=> bool(true) [2]=> int(5) [3] => int(10) } ["recipe_desc"]=> array(4) { [0]=> string(6) "string" [1]=> bool(true) [2]=> int(5) [ 3]=> интервал(25) } }
var_dump($data);
иvar_dump($validate_array);
передvalidate_data
-утверждением и посмотрите, содержат ли recipe_name и recipe_desc ваши письменные значения, и исключитеvalidate_data
-утверждение - person Alex Ruhl   schedule 03.05.2013