Zend Form Проверка необходимых элементов - PullRequest
0 голосов
/ 04 января 2011


У меня есть обязательный элемент в моей Zend Form:

$name = new Zend_Form_Element_Text('name');
$name->setLabel('Name')
   ->setValue(isset($plan)?$plan['name']:'')
   ->setRequired()
   ->setAttribs(array('class' => 'required', 'maxlength' => 50))
   ->addValidators(array(new Zend_Validate_StringLength(array('min' => 1, 'max' => 50)),
      new Zend_Validate_Db_NoRecordExists(array('table' => 'plan', 'field' => 'name')))
   ->addFilters(array(new Zend_Filter_StringTrim, new Zend_Filter_StripTags));

Все валидаторы работают отлично.Но это одна проблема.В контроллере я проверяю форму, используя getValidValues ​​ (это необходимо для меня).И если запись в БД существует, элемент недействителен и Zend очищает этот элемент.И я беру сообщение «Требуется значение».Как я могу получить сообщение о существовании строки в БД?
Извините за мой английский.Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

1001 * попробовать *

setRequired (правда)

это правильно;)

1 голос
/ 04 января 2011

Это было полезно для меня:->setAllowEmpty(false) вместо ->setRequired()

...