我正在创建一个Zend表单。
当我提交表单时,不会显示错误消息。似乎永远不会触发验证器。这是我的代码:
$ form = new Zend_Form;
$form->setMethod('POST') ->setAttrib('Name','pwdfrm') ->setAttrib('Id','pwdfrm'); $email = new Zend_Form_Element_Text('email'); $email->setLabel('Email :') ->setDecorators($this->textbox) ->setRequired(true) ->addValidator('NotEmpty', true) ->addErrorMessage('In valid'); $form->addElements(array($email, new Zend_Form_Element_Submit('submit',array( 'decorators' => $this->buttonDecorators, 'Label'=>'Submit', )), )); $form->setDecorators(array( 'FormElements', array('HtmlTag', array('tag' => 'table','align'=>'center','class'=>'tbcss','width'=>'100%','border'=>1)), 'Form', ));
$这 - >视图 - >分配( '形式',$形式);
如果
$这 - > _helper->&版图GT; disableLayout();($请求 - > isPost())
{
的print_r($请求 - >的getPost());
}
这是我的装饰者:
public $ textbox = array(
'ViewHelper', 'FormElements', array(array('data' => 'HtmlTag'),array('tag' => 'td', 'class' =>
'元素', '宽度'=> '43%”, 'VALIGN'=> '顶部')),
'Errors', array(array('closeLabel' => 'HtmlTag'),array('tag' => 'td','closeOnly' => true, 'placement' =>'prepend')), 'Label',
array(array('openLabel'=>'HtmlTag'),array('tag'=>'td',>'openOnly'=> true,'align'=>'right', 'VALIGN'=> '顶部', '宽度'=> '15%')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr')), );
public $ buttonDecorators = array(
'ViewHelper', 'Errors', 'FormElements', array('HtmlTag', array('tag' => 'td','align'=>'center','colspan'=>'2')), array(array('row' => 'HtmlTag'), array('tag' => 'tr')), );
任何人都可以帮助我。
答案 0 :(得分:1)
我想你错过了
// Check method/data validitiy
if( !$form->isValid($this->getRequest()->getPost()) ) {
return;
}
祝你好运: - )