Zend Framework 2 - 删除的表单元素导致验证失败

Ron*_*Ron 5 php validation zend-form zend-form-element zend-framework2

我在几个地方使用某种形式.在其中一个中,我需要忽略在验证后以编程方式设置的表单元素.

因为它只是一个例外,我不想创建一个新的表单.所以我想,我只是在控制器中删除这个元素,如:

$myForm->remove('myElement');
Run Code Online (Sandbox Code Playgroud)

问题是表单现在不会验证.我没有得到任何错误,但$myForm->isValid()只是返回一个空值.

我有什么想法可能做错了吗?

谢谢!

Ron*_*Ron 10

好的,最后我找到了解决方案!您可以定义一个ValidationGroup允许您设置要验证的属性.其他未经验证:

$form->setValidationGroup('name', 'email', 'subject', 'message');
$form->setData($data);
if ($form->isValid()) {
    ...
Run Code Online (Sandbox Code Playgroud)