Zend framework Zend表单:自定义验证程序isvalid()
我必须在我的Zend framework Zend表单:自定义验证程序isvalid(),zend-framework,zend-form,zend-validate,Zend Framework,Zend Form,Zend Validate,我必须在我的表单中创建自定义表单:isvalid()函数,如下所示,因为我必须检查这两个字段中是否至少有一个已填写: class Products_AddForm extends Zend_Form { public function isValid($data) { // Check special post data $pzn_val = $data['PZN']; $mar_val = $data['PZO']; if(empty($pzn_val)
表单中创建自定义表单:isvalid()
函数,如下所示,因为我必须检查这两个字段中是否至少有一个已填写:
class Products_AddForm extends Zend_Form {
public function isValid($data)
{
// Check special post data
$pzn_val = $data['PZN'];
$mar_val = $data['PZO'];
if(empty($pzn_val) && empty($mar_val)) {
$this->getSubForm('sub1')->getElement('PZN')->setErrors(array('PZN or PZO needed'));
$this->getSubForm('sub2')->getElement('PZO')->setErrors(array('PZN or PZO needed'));
}
// Standard validation
return parent::isValid($data);
}
只有在发现另一个错误(其他字段)时,PZN
和PZO
的错误才会触发。
如何获取表单错误
?
字段PZN
和PZO
被定义为不需要
短暂性脑缺血发作
马特试试:
public function isValid($data) {
$isValid = parent::isValid($data);
// Check special post data
$pzn_val = $data['PZN'];
$mar_val = $data['PZO'];
if(empty($pzn_val) && empty($mar_val)) {
$this->getSubForm('sub1')->getElement('PZN')->setErrors(array('PZN or PZO needed'));
$this->getSubForm('sub2')->getElement('PZO')->setErrors(array('PZN or PZO needed'));
$isValid = false;
}
return $isValid;
}
尝试:
很高兴知道它起作用了。您可以将其标记为已接受答案:)需要等5分钟……”您可以在5分钟内接受答案。^^很高兴知道答案有效。您可以将其标记为已接受答案:)需要等5分钟……”你可以在5分钟内接受答案^^