Compte tenu de cet objet de commande simple dans mon contrôleur de Grails: P> Class org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException
Message Tag [validate] is missing required attribute [form]
3 Réponses :
Je ne sais pas s'il y a quelque chose de configuration sage pour faire une liaison automatique de données de paramètre JSON; Une chose que vous pourrez peut-être faire est d'écrire un filtre pour vos actions qui prennent la demande de demande JSON qui rétablit essentiellement la requête.json directement sur la carte des params racine, qui devrait en théorie permettre la liaison automatique des données à avoir lieu.
Quelque chose comme: p> Vous pouvez ensuite étendre ce filtre via des conventions de regex / nommer à des actions de contrôleur applicables. p> p>
Cela fonctionnerait. Je vais le marquer comme la réponse à moins que quiconque ait une autre suggestion. Merci, aquatoad!
Heureux de vous aider. Je vais supprimer le peu qui est réparé par l'annotation @Validable aussi.
Si vous n'utilisez pas l'objet de commande comme paramètre sur les actions de contrôleur, les greils ne l'améliorent pas automatiquement avec une méthode de validation. Vous devez annoter la classe avec @Validatible pour dire des greils, il devrait être amélioré. P>
http://grails.org/doc/latest/Guide/validation. HTML # validationnondomainandCommandObjectClasses P>
Vous devez utiliser alors vous pouvez utiliser Les deux devraient fonctionner. Mais dans certains cas, il perd quelques informations de JSON (liaison aux cartes). P> p> parseQuest = true code> dans
urlmapings.groovy code>. Par exemple:
parames code> variable ou lier JSON à un objet de commande dans une méthode Arguments: P>
index def (MyCommand Command) {...} code> p>
Juste fyi pour les lecteurs sur Grails 2.3, le parsequest ne fait désormais rien, vous devez gérer JSON manuellement.