我有一个复杂的Zend\Form
与多个嵌套Fieldset
s。现在我需要实现一个交叉Fieldset
验证。这意味着,验证规则是指来自不同Fieldset
的多个Element
。我发现要做到这一点的唯一方法是在MyForm#isValid()
中实施此验证,因为它是唯一的地方,我可以从中访问每个Fieldset
。如何向Zend Framework 2中的表单添加错误消息?
MyForm extends Form
{
public function isValid()
{
$isFormValid = parent::isValid();
$isCrossFieldsetVaidationOk = // my additional validation logic
return $isFormValid && $isCrossFieldsetVaidationOk;
}
}
尚未测试,但它会工作。问题在于添加错误消息。
我已经试过
$this->setMessages(array_merge(
$this->getMessages(), ['my new message'])
);
但它不工作。
如何添加Form
错误消息?
谢谢你的回答!其实,这样我可以让我的表单保存“表单错误信息”并检索它们。下一步是将它们与'Element's'消息集成,以便将它们一起显示。为此,必须覆盖'Element#getMessages(...)'。我会用它来扩展你的答案。或者也许有更好的解决方案? – automatix