我有一个包含几个子表单的表单。我已经用自己的方法覆盖了表单的 isValid 函数,但找不到任何关于如何为每个子表单设置 isValid 函数的文档。
有人可以发布链接或示例代码,以便我可以学习如何做到这一点。
提前致谢。
我有一个包含几个子表单的表单。我已经用自己的方法覆盖了表单的 isValid 函数,但找不到任何关于如何为每个子表单设置 isValid 函数的文档。
有人可以发布链接或示例代码,以便我可以学习如何做到这一点。
提前致谢。
<?php
class Your_Sub_Form extends Zend_Form_SubForm
{
public function isValid($data)
{
// Your custom validation-logic here
return parent::isValid($data);
}
public function init()
{
...
}
}
class Your_Form extends Zend_Form
{
public function isValid($data)
{
return parent::isValid($data);
}
public function init()
{
$this->addSubForm(new Your_Sub_Form(), 'subform');
$this->addElement('submit', 'submit', array(
'ignore' => true,
'label' => 'Submit',
));
}
}
$form1 = new ..._Form1();
$form2 = new ..._Form2();
if ($form1->isValid($this->getRequest()->getPost())) {
...
}
if ($form2->isValid($this->getRequest()->getPost())) {
...
}
尝试使用 Zend_Validate_Callback http://framework.zend.com/manual/en/zend.validate.set.html来验证您想要的特殊字段。您可以通过上下文访问其他字段值。