2011-01-26 9 views

답변

40

JSR 303 default message interpolation algorithm을 사용하면 ValidationMessages라는 리소스 번들을 제공하여 메시지를 사용자 정의 할 수 있습니다. 포함하는 클래스 경로에 ValidationMessages.properties 파일을 만듭니다 당신은 최대 절전 모드 별 @Length 제약 대신 @Size 제약 조건을 사용해야하므로

javax.validation.constraints.NotNull.message=CUSTOM NOT NULL MESSAGE 
javax.validation.constraints.Size.message=CUSTOM SIZE MESSAGE 

이는 @Size 제약에 대한 기본 메시지를 변경합니다.

모든 제약 조건에 대한 기본 메시지를 변경하는 대신 특정 제약 조건 인스턴스에 대한 메시지를 변경할 수 있습니다.

@NotNull(message = "{email.notnull}") 
private String email; 

을 그리고 ValidationMessages.properties 파일에 메시지를 추가 : 제약 조건에 message 속성을 설정 내가 @NotNull 같은 주석 검증을 사용하고

email.notnull=E-mail address is required 
+8

여기에 추가 할 가치가있는 사이드 바는'javax.validation.constraints.Size.message = 길이가 {min}과 {max} 사이 여야 함 '과 같은 크기의 최소값과 최대 값을 얻을 수 있다는 것입니다. – Patrick

+3

어떻게해야합니까? 이 속성 파일로 internacionalization합니까? ValidationMessages_ .properties? –

+0

@Chin Huang, {min/max]의 값이 동적으로 변경 될 경우 어떻게해야합니까? 메시지 매개 변수 {최소 값은 {provide_at_runtime}}을 지정할 수 있습니다. 단, 제공된 _ 속성 _ 시간은 주석 속성을 참조하지 않습니다. –

0

봄 봄 나는 MVC라고 가정하고 있습니다.

당신은 발리 클래스를 생성 - - 위 필드에 원하는 유효성 검사 텍스트에 넣어

public class UserValidator implements Validator { 

    public boolean supports(Class candidate) { 
     return User.class.isAssignableFrom(candidate); 
    } 

    public void validate(Object obj, Errors errors) { 
     ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "required", "Field is required."); 
     ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "required", "Field is required."); 
    } 
} 

아래 참조 여기 http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

당신이 가서에서

.

<tr> 
    <td>First Name:</td> 
    <td><form:input path="firstName" /></td> 
    <!-- Show errors for firstName field --> 
    <td><form:errors path="firstName" /></td> 
</tr> 

firstName에 대한 유효성 검사 오류가 인쇄됩니다 이런 식으로 -

는 JSP에 다음 태그가 필요합니다.

+0

. 그렇다면 Spring jar의 메시지는 어디에 저장되어 있습니까? 내가 그들을 편집 할 필요가 있다고 생각합니다 –

+0

@ apache-fan 제가 OP 투표가 현대 JSR303 스타일 유효성 검사에 관한 것이고 오래된 봄에 관한 것이 아니기 때문에 답변을 투표 해 보겠습니다. –

관련 문제