2013-09-04 2 views
0

컨트롤러의 검증을 위해 최대 절전 모드에서 Spring 3을 사용하고 있습니다.Spring mvc와 Hibernate validator, error

내 양식이 올 바르면 원하는 페이지로 리디렉션됩니다. 그러나 유효성 검사에 문제가 있으면 "발견되지 않은"페이지로 나를 보냅니다. 나는 나의 구조가 정확하다고 생각한다. 그래서 나는 그것을 얻지 못한다.

public class CatalogoSimCardValidator { 

    @NotNull 
    private int idSimCard; 
    @NotEmpty (message="La descripción no puede venir vacía") 
    private String descripcionSimCard=""; 
    @NotNull 
    @NumberFormat(style=Style.CURRENCY) 
    private double precio; 

    @NumberFormat(style=Style.NUMBER) 
    private int version=0; 
    @NotEmpty 
    private String descripcionVers; 

을 분명히 나는 ​​실종 아니에요 :

@RequestMapping(params = "guardaNuevo", method = RequestMethod.POST) 
public String guardaSimCard( @ModelAttribute("validator")@Valid CatalogoSimCardValidator validator, HttpServletRequest request,Model model,BindingResult result) { 
    System.out.println("--------------------------------"); 

    model.addAttribute("CatalogoSimCardValidator", new CatalogoSimCardValidator()); 
    System.out.println(result); 
    System.out.println("no errores"); 
} 

내 검증은 다음과 같습니다

<context:component-scan base-package="com.telcel.sds.crm.dlyscrm.precios.web"/> 
<context:annotation-config/> 
<mvc:annotation-driven /> 

답변

0

@Valid 매개 변수에 옆에있는 BindingResult 매개 변수를 넣어 당신의 방법 서명을 변경

public String guardaSimCard(@ModelAttribute("validator") @Valid CatalogoSimCardValidator validator, BindingResult result, HttpServletRequest request, Model model) { 

나는 당신이 얻을 예외가 ErrorsMethodArgumentResolver에서 오는 IllegalStateException (당신이 그것을 게시 된 경우 도움이 될)이며 오류/BindingResult 인수 즉시 모델 속성 후 를 선언 할 것으로 예상된다

상태 가정의 @RequestBody 또는 @RequestPart 인수가 적용됩니다. [...]

+0

와우! 구속력있는 결과가 있었으니 내 생명을 구하십시오 !! 감사합니다. – user2597289

+0

@ user2597289 여러분을 환영합니다! –

관련 문제