как отобразить проверки ошибок без очистки введенного ввода - PullRequest
0 голосов
/ 01 декабря 2011

Мой код для проверки введенных значений URL будет таким, как показано ниже:

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 [];
        }

введенные значения очищаются при сбое проверки URL.

Как отобразить ошибки, но не очистить введенный ввод (попытка возврата [], но это бесполезно)

вот код 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 Ответ

0 голосов
/ 02 декабря 2011

Я мог бы решить эту проблему, сохранив чек в 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...