我有一个Zend\Form
带有多个嵌套Fieldset
s 的复合体。现在我需要实施交叉Fieldset
验证。这意味着,验证规则引用Element
来自不同s 的多个Fieldset
s。我发现这样做的唯一方法是在 中实现此验证MyForm#isValid()
,因为它是一个地方,我可以从中访问每个Fieldset
地方。
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
错误消息?