Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring mvc和Hibernate验证程序,错误_Java_Hibernate_Spring Mvc_Validation - Fatal编程技术网

Java Spring mvc和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

我使用Spring3和hibernate来验证控制器

当我的表单正确时,它会将我重定向到我想要的页面,但当验证出现问题时,它会中断并将我发送到“未找到”页面。我认为我的结构是正确的,所以我不明白

@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参数:[……]


哇,谢谢你,伙计!!!这是绑定结果命令,你救了我的命!!谢谢!!