У меня есть комплекс Zend\Form
с несколькими вложенными Fieldset
s. Теперь мне нужно выполнить перекрестное-Fieldset
-добавление. Это означает, что правило проверки относится к нескольким Element
s от разных Fieldset
s. Единственный способ, которым я нашел это, - выполнить эту проверку в 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 # getMessages (...)'. Я продолжу ваш ответ. Или, может быть, есть лучшее решение? – automatix