Awa*_*rni 1 validation zend-framework
我创建了一个 zend 表单。我添加了一些元素。我已经在所有元素中放置了验证属性,但没有进行验证。这是我的代码
/* Form Elements & Other Definitions Here ... */
$this->setMethod('post');
$this->addElement('text', 'email', array(
'required' => true,
'filters' => array('StringTrim'),
'validators' => array(
'EmailAddress',
)
));
// Add the comment element
$this->addElement('textarea', 'comment', array(
// 'label' => 'Please Comment:',
'required' => true,
'validators' => array(
array('validator' => 'StringLength', 'options' => array(0, 20))
)
));
// Add a captcha
$this->addElement('captcha', 'captcha', array(
//'label' => 'Please enter the 5 letters displayed below:',
'required' => true,
'captcha' => array(
'captcha' => 'Figlet',
'wordLen' => 5,
'timeout' => 300
)
));
// Add the submit button
$this->addElement('submit', 'submit', array(
'ignore' => true,
'label' => 'Sign Guestbook',
));
// And finally add some CSRF protection
$this->addElement('hash', 'csrf', array(
'ignore' => true,
));
Run Code Online (Sandbox Code Playgroud)
在锻炼中甚至没有一次验证。在我看来,我只是echo表单对象。有没有人告诉我我错在哪里?
Zend_Form应该在服务器端验证您的输入。要使用它,您需要以某种方式将数据发送到服务器,然后调用$form->isValid($data).
简单的方法就是提交表单,并在您的操作中验证数据,有一些关于它的很好的教程,例如这个:http : //akrabat.com/zend-framework-tutorial/。
如果您想利用验证器但仍想在提交表单之前获得一些验证反馈,您还可以通过 Ajax 发送数据。下面的教程告诉你一个使用 jQuery 的好方法:http : //www.zendcasts.com/ajaxify-your-zend_form-validation-with-jquery/2010/04/。我跟着它,它非常好。
在任何情况下,请记住验证始终在服务器端运行。
希望有所帮助,