J'ai un complexe Zend\Form
avec plusieurs Fieldset
s imbriqués. Maintenant, j'ai besoin de mettre en place une validation-Fieldset
. Cela signifie que la règle de validation fait référence à plusieurs Element
s de différents Fieldset
s. La seule façon que j'ai trouvé pour faire cela, est d'implémenter cette validation dans MyForm#isValid()
, puisque c'est l'endroit unique, où je peux accéder à tous les Fieldset
.Comment ajouter un message d'erreur au formulaire dans Zend Framework 2?
MyForm extends Form
{
public function isValid()
{
$isFormValid = parent::isValid();
$isCrossFieldsetVaidationOk = // my additional validation logic
return $isFormValid && $isCrossFieldsetVaidationOk;
}
}
Pas encore testé, mais cela fonctionnera. Le problème est dans l'ajout de messages d'erreur.
J'ai essayé
$this->setMessages(array_merge(
$this->getMessages(), ['my new message'])
);
Mais cela ne fonctionne pas. Comment ajouter des messages d'erreur Form
?
Merci pour votre réponse! En fait, de cette façon, je peux faire mon formulaire enregistrer les "messages d'erreur de formulaire" et les récupérer. L'étape suivante consiste à les intégrer avec les messages 'Element's ', de sorte qu'ils soient affichés ensemble. Pour ce faire, le 'Element # getMessages (...)' doit être surchargé. Je vais prolonger votre réponse avec ça. Ou peut-être y a-t-il une meilleure solution? – automatix