Zend Form验证所需元素

时间:2011-01-04 14:41:39

标签: php validation zend-framework zend-form zend-validate


我的Zend表格中有必要的元素:

$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 检查表单(我需要它)。如果DB中存在Record,则元素无效,Zend清除此元素。我接受了“价值是必需的”这个信息。如何获取有关DB中行存在的消息?
对不起我的英文。提前谢谢。

2 个答案:

答案 0 :(得分:1)

对我有帮助:
->setAllowEmpty(false)而不是->setRequired()

答案 1 :(得分:1)

setRequired(真)

这是对的;)