2010-05-19 3 views
2

주석이있는 스프링을 사용하고 있으며 주석이 달린 필드는 유효성이 검사되고 ValidationMessages.properties에서 오류 메시지가 표시되지만 ValidationMessages.properties의 사용자 정의 유효성 검사 메시지에는 표시되지 않습니다. 사용 된 것 같습니다.BindingResult.rejectValue가 ValidationMessages.properties에서 값을 찾지 못합니다.

ValidationMessages.properties

public void validateSpecial(BindingResult result) { 

    if(password != null && !password.equals(passwordConfirm)){ 
     result.rejectValue("passwordConfirm", "emailform.passwordConfirm.passwordsDontMatch", new Object[]{}, "This message is in the code."); 

...} :

... 
emailform.passwordConfirm.passwordsDontMatch = Passwords don't match 
... 

컨트롤러 :

Validatior (또는 형태) 여기

는 예제
... 
    form.validateSpecial(result); 
    if (result.hasErrors()) { 
     return "/path/to/input/page"; 
    } 
... 
는 는

내가하지

답변

0

이이 문제를 해결했다 "암호가 일치하지 않습니다", "이 메시지는 코드에"인 오류, 감사 @Kartik는

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 
    <property name="basenames"> 
     <list> 
      <value>ValidationMessages</value> 
      <value>ApplicationResources</value>    
     </list> 
    </property> 
</bean> 
+0

그래서 것 같다 주석이 붙은 오류에 관해서는, Spring 3.0.X는 applicationContext에 명시 적으로 정의되어 있지 않은 messageSource를 찾았지만 사용자 정의 유효성 검사기에서 spring은 applicationContext에 정의 된 messageSource가 필요합니다. – Mike

+0

일찍 응답하지 않아서 죄송합니다. 나는 지금까지 stackoverflow를 점검했다. 나는 내가 어떤 식 으로든 도울 수있어서 기쁘다. – Kartik

관련 문제