2012-04-29 4 views
1

Можно ли сделать элемент массива, необходимого при использовании Zend_Filter_Input:Zend_Filter_Input и требуемое значение

$data = array(); 
    $validators = array(
     'name' => 'NotEmpty' 
    ); 
    $filters = array(
     '*' => 'StringTrim' 
    ); 

    $input = new Zend_Filter_Input($filters, $validators, $data); 

    var_dump($input->isValid()); 

Он возвращает true, в то время как я ожидаю, что это будет false.

Любые способы сделать это?

UPD:

нашел:

$validators = array(
    'name' => array(
     'NotEmpty', 
     'presence' => 'required' // <----- 
    ) 
); 

но для не существующих значений $input->getErrors(); возвращает пустой массив. Как получить правильное сообщение об ошибке?

ответ

2

Попробуйте

if (!$input->isValid()) { 
    $errors = $input->getMessages(); 
} 
+0

Хочет знать, как я пропустил этот метод Его – zerkms

+0

BTW, есть ли способ, чтобы изменить сообщение для 'required'? – zerkms

+0

как обычно для форм Я предполагаю массив ('messages' => array ('missingMessage' => 'blabla')); –

Смежные вопросы