2011-12-01 2 views
0

Mon code pour valider les valeurs d'URL saisies sera comme ci-dessous:comment afficher les validations d'erreur sans effacer l'entrée entré

try{ 
     urls.eachWithIndex { u, i -> 
      String countryCode = u.key; 
      String url = urls["${u.key}"] 
      if(url != ""){ 
      Boolean valid = helperService.isURLValid(url) 
       if(valid == false){ 
        this.errors.reject("Incorrect URL is entered for "+countries.get(countryCode)+" - please ensure to use a correct URL for More Games.") 
        return []; 
        // assert false 
        // params.gamesUrls = url 
       } 
      } 
     } 
     }catch (Exception ex) { 
        logger.warn("Incorrect URL is entered", ex) 
        return []; 
     } 

les valeurs saisies sont effacées lorsque la validation d'URL échoue.

Comment afficher les erreurs, mais pas pour effacer l'entrée entrée (retour essayé [], mais est d'aucune utilité)

ici est le code gsp ...

<g:form action="wizard"> 
      <table> 
       <g:each in="${countries}" status="i" var="country"> 
        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}"> 
         <td><img border="0" src="/wizard/image/flags/${country.key}" alt="" /> <label for="gamesUrls.${country.key}">${country.value}</label></td> 
         <td><g:textField name="gamesUrls.${country.key}" style="width:350px" value="${moreGamesUrls.get(country.key)}" onchange="\$(this).addClassName('changed');" maxlength="255"/></td> 
         <td><input type="button" value="Revert" onClick="revertTextValue('gamesUrls.${country.key}')" /></td> 
        </tr> 
       </g:each> 
      </table> 
      <g:submitButton name="back" value="Back" /> <g:submitButton name="next" value="Confirm" /> 
+1

Est-ce que c'est dans les grails? Qu'est-ce qui appelle ce code? N'ai-je pas déjà vu cette question? –

+0

oui c'est dans grails et ce code sera exécuté dans le post-traitement de la commande groovy et retournerait les erreurs aux grails – Techie

+0

http://meta.stackexchange.com/a/5235/156393 –

Répondre

0

je pouvais résoudre ceci en gardant un chèque en gsp

<g:if test="${moreGamesUrls.get(country.key) == null || 'User Cannot Edit this URL'.equals(moreGamesUrls?.get(country.key))}"> 
          <td><g:textField name="gamesUrls.${country.key}" style="width:350px" data-default-value="" value="" onchange="\$(this).addClassName('changed');" maxlength="255"/></td> 
         </g:if> 
         <g:else> 
          <td><g:textField name="gamesUrls.${country.key}" style="width: 350px;" data-default-value="${moreGamesUrls?.get(country?.key)}" value="${moreGamesUrls?.get(country?.key)}" onchange="\$(this).addClassName('changed');" maxlength="255"/></td> 
         </g:else> 
Questions connexes