我有一個複雜的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