Bonjour,
Je travaille sur un projet en groovy grails, et bloque sur un affichage de messages d'erreurs à l'emplacement du champ de saisi non renseigné.
Quelques explications :
Ma vue ressemble a ça :
Je crée des champs de saisi en fonction des clés d'une map stockée dans l'objet YBean.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <g:if test="${!YBean.model?.isEmpty()}"> <div class="alerte fieldcontain"> <g:message code="X.variable.label"/> <ul class="property-list X" id="listeVariables"> <g:each in="${YBean.map}" var="varMap" status="i"> <li class="fieldcontain"> <span id="variableUsed" class="property-label"> <g:fieldValue bean="${varMap}" field="key"/> : </span> <span class="property-value" aria-labelledby="variableUsed"> <g:textField name="${varMap.key}" value="${varMap.value}"/> <div class="errorMessage"> <g:renderErrors bean="${YBean.model}" as="list" field="key"/> </div> </span> </li> </g:each> </ul> </div> </g:if>
J'aimerais que pour chaque champs non renseignés, lorsque l'on valide, ça retourne un message d'erreurs (non spécifique) a l'endroit de la saisie.
La méthode de mon controller nous amene dans une méthode de validation des données dans le service correspondant.
Actuellement, ce que je cherche marche très bien avec des attributs direct de mon objet YBean.
Code:
1
2
3
4
5
6
7 if (X.name().equals(X.name())) { if (!YBean.var1) { YBean.errors.rejectValue('var1', 'X.var1.error') } } return YBean
En revanche je n'arrive pas à trouver de solution pour les éléments qui appartiennent à une map de mon objet YBeanCitation:
Fonctionne
Code:
1
2
3
4
5
6
7
8 YBean.map.each {key, value-> if (!value){ YBean.errors.rejectValue(key, 'X.variable.error') } } return YBean }
Si mon explication n'est pas assez clair n'hésiter pas a me poser plus de questions.Citation:
Ne Fonctionne pas
En espérant une réponse très prochainement,
bien a vous,
Jimmy