Java Spring mvc和Hibernate验证程序,错误
我使用Spring3和hibernate来验证控制器 当我的表单正确时,它会将我重定向到我想要的页面,但当验证出现问题时,它会中断并将我发送到“未找到”页面。我认为我的结构是正确的,所以我不明白Java Spring mvc和Hibernate验证程序,错误,java,hibernate,spring-mvc,validation,Java,Hibernate,Spring Mvc,Validation,我使用Spring3和hibernate来验证控制器 当我的表单正确时,它会将我重定向到我想要的页面,但当验证出现问题时,它会中断并将我发送到“未找到”页面。我认为我的结构是正确的,所以我不明白 @RequestMapping(params = "guardaNuevo", method = RequestMethod.POST) public String guardaSimCard( @ModelAttribute("validator")@Valid CatalogoSimCardVal
@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");
}
我的验证器如下所示:
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;
显然我没有错过:
<context:component-scan base-package="com.telcel.sds.crm.dlyscrm.precios.web"/>
<context:annotation-config/>
<mvc:annotation-driven />
更改方法签名,将
BindingResult
参数放在at@Valid
参数旁边
public String guardaSimCard(@ModelAttribute("validator") @Valid CatalogoSimCardValidator validator, BindingResult result, HttpServletRequest request, Model model) {
我假设您得到的异常是一个来自ErrorsMethodArgumentResolver
和状态的非法状态异常(如果您发布它会有所帮助)
应声明错误/BindingResult参数
紧跟在model属性之后,@RequestBody或
@应用它们的RequestPart参数:[……]
哇,谢谢你,伙计!!!这是绑定结果命令,你救了我的命!!谢谢!!