2012-07-04 3 views
0

@Valid 주석을 사용하여 Spring 3.x에서 유효성 검사 : 아래는 messages_en.properties의 스 니펫입니다. 사용자 이름과 암호 필드가있는 양식이 있습니다. 사용자가 Username (사용자 이름) 필드에 아무 것도 입력하지 않으면 두 메시지가 모두 아래에 표시됩니다.봄 유효성 검사 맞춤 메시지 표시

NotEmpty.loginBean.username=Username cannot be Empty 
Size.loginBean.username=Size must between 5 to 50 characters. 

message.properties에 지정된 HTML 태그는 해석되지 않습니다. 그대로

NotEmpty.loginBean.username=<li>Username cannot be Empty</li> 

위는 < 리 >를 표시합니다. 질문 : 1) HTML 태그를 해석하고 출력을 표시 할 수있는 방법이 있습니까? 2) 두 유효성 검사가 모두 실패해도 단일 메시지를 표시 할 수 있습니까?

답변

1

광고. 1) 예, 사용 htmlEscape="false" :

<form:errors path="nip" cssClass="error" htmlEscape="false" /> 

광고. 2) 실제로 이것은 JSR303의 Achilles의 뒤꿈치입니다. 수행 할 수 있지만 쉽지도 않고 깨끗하지도 않습니다 (this issue 참조). 주석이 달린 필드의 유효성 검사 순서는 정의되어 있지 않으므로 과 here 또는 here과 같은 맞춤 그룹을 사용해야합니다.

대체 솔루션은 custom annotation with @ReportAsSingleViolation을 사용하는 것이지만 고유 한 오류 메시지가 있으므로 NotEmpty와 Size 오류가 구분되지 않습니다.

관련 문제