validators을 Spring MVC 프레임 워크에서 작성하려고 시도했지만 문서에 눈에 띄는 누락이 있습니다. Errors 객체에 오류를 전달할 때 대부분의 메소드는 errorCode라는 String 매개 변수를 필요로합니다. 이 errorCode는 특정 오류 메시지에 대한 스탠드 인 역할을 올바르게 이해하고 있습니다. 그러나 나는이 코드가 어디에 매핑되는지를 이해할 수 없다.스프링 MVC 유효성 검사 오류 코드는 어디에서 해결 되었습니까?
다음은 Spring MVC의 Javadoc에서 언급 한 예제입니다.
public class UserLoginValidator implements Validator {
private static final int MINIMUM_PASSWORD_LENGTH = 6;
public boolean supports(Class clazz) {
return UserLogin.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", "field.required");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "field.required");
UserLogin login = (UserLogin) target;
if (login.getPassword() != null
&& login.getPassword().trim().length() < MINIMUM_PASSWORD_LENGTH) {
errors.rejectValue("password", "field.min.length",
new Object[]{Integer.valueOf(MINIMUM_PASSWORD_LENGTH)},
"The password must be at least [" + MINIMUM_PASSWORD_LENGTH + "] characters in length.");
}
}
}
누구든지 나를 계몽시킬 수 있습니까?
정보를 제공해 주셔서 감사 드리며, 유효성 검사기를 사용할 수 있습니다. 그러나 맞춤 MessageCodeResolver에서 다시 연결하고 싶다면 무엇을해야할지 배우기 위해 어디로 갈까요? 또한 번영을 위해서 ResourceBundleMessageSource의 javadoc은 http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/context/support/ResourceBundleMessageSource.html에 있습니다. –
사용자 정의 MessageCodeResolver를 사용하려는 경우 주어진 컨트롤러에 하나를 지정할 수 있습니다. 한 가지 접근법은 빈 상속을 사용하여 여기에 설명 된대로 모든 컨트롤러 bean이 하나의 컨트롤러 bean 정의에서 상속되도록하는 것입니다. http://forum.springsource.org/showthread.php?t=46336 현재 방법은 없습니다 커스텀 MessageCodeResolver를 전역 적으로 정의한다. https://jira.springsource.org/browse/SPR-5187 –
참고로, 글로벌 맞춤'MessageCodeResolver' 기능은 결국 Spring 3.1 (2011)에 구현되었습니다. [SPR-6506] (https://jira.spring.io/browse/SPR-6506)도 참조하십시오. – vallismortis