@NotNull
@Length(max = 80)
private String email;
의 봄 유효성 검사 오류를 사용자 정의 원하지만 나는 그것을 할 수없는거야. 따라야 할 단계는 무엇입니까?
@NotNull
@Length(max = 80)
private String email;
의 봄 유효성 검사 오류를 사용자 정의 원하지만 나는 그것을 할 수없는거야. 따라야 할 단계는 무엇입니까?
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
봄 봄 나는 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
에 대한 유효성 검사 오류가 인쇄됩니다 이런 식으로 -
. 그렇다면 Spring jar의 메시지는 어디에 저장되어 있습니까? 내가 그들을 편집 할 필요가 있다고 생각합니다 –
@ apache-fan 제가 OP 투표가 현대 JSR303 스타일 유효성 검사에 관한 것이고 오래된 봄에 관한 것이 아니기 때문에 답변을 투표 해 보겠습니다. –
여기에 추가 할 가치가있는 사이드 바는'javax.validation.constraints.Size.message = 길이가 {min}과 {max} 사이 여야 함 '과 같은 크기의 최소값과 최대 값을 얻을 수 있다는 것입니다. – Patrick
어떻게해야합니까? 이 속성 파일로 internacionalization합니까? ValidationMessages_ .properties? –
@Chin Huang, {min/max]의 값이 동적으로 변경 될 경우 어떻게해야합니까? 메시지 매개 변수 {최소 값은 {provide_at_runtime}}을 지정할 수 있습니다. 단, 제공된 _ 속성 _ 시간은 주석 속성을 참조하지 않습니다. –