Моя цель — проверить параметры, переданные в URL-адресе, поэтому я создал метод проверки со списком запускаемых валидаторов, например:
$validators = array(
'number' => array(
'digits',
'presence' => 'required',
'messages' => array(
"%value%' is not a valid number.",
),
),
'country' => array(
'presence' => 'required',
'InArray' => array('haystack' => array('USA', 'CAN', 'AUS', 'JPN')),
'messages' => array(
"'%value%' is not a valid country code.",
),
),
// etc.
);
$valid = new Zend_Filter_Input(array(), $validators, $data);
return $valid->isValid()
Проблема в том, что валидатор InArray ничего не делает. Ошибок не выдает, просто не работает. Я предполагаю, что я неправильно понимаю синтаксис.
Каков правильный синтаксис для валидатора InArray?
haystack
, вероятно, должен быть собственным индексом, какmessages
, а не элементом массива на ключеInArray
. - person drew010   schedule 14.08.2012