2013-02-07 4 views
1

필드 사이에 사용자 탭으로 인라인 유효성 검사를 수행하고 있습니다. 필드에 대해 둘 이상의 오류가 발생하는 경우 즉, 두 오류가 모두 표시 될 때 문제가 발생합니다. 하나의 오류 만 표시하고 싶습니다 (인수로는 처음 것).gsp에서 첫 번째 오류 만 표시

이 문제를 처리 할 다른 태그가 있습니까?

<jqvalui:renderError for="title"> 
    <g:eachError bean="${objInstance}" field="title"><g:message error="${it}" /></g:eachError> 
</jqvalui:renderError> 

감사

+0

당신이 대답을 얻거나 여기에서 해결할 수 있기를 바랍니다. http://stackoverflow.com/questions/3233969/grails-gsp-break-out-of-geach – Pratik

답변

1

을 따라서 기본적으로 제공된 태그를 사용하는 대신 오류 자체를 사용해야합니다.

<g:hasErrors bean="${objInstance}" field="title"> 
    <g:message error="${objInstance.errors.getFieldErrors("title")[0]}" /> 
</g:hasErrors> 
0

나는 그것이 해킹처럼 알고 있지만 더 정확한 솔루션을 ... 루프 내부 플래그 또는 카운터 및 설정/테스트를 추가하지 고려하는 경우 :

<g:set var="isErrorShown" value=""/> 
<g:eachError bean="${objInstance}" field="title"> 
    <g:if test="${!isErrorShown}"> 
     <g:message error="${it}"/> 
     <g:set var="isErrorShown" value="TRUE"/> 
    </g:if> 
</g:eachError>