BindingResult不能获取错误对象

BindingResult不能获取错误对象,代码如下:

@RequestMapping(value = "/login")
public String error4( Model model, UserModel user,BindingResult bindingResult){
    if(bindingResult.hasErrors()){
       List<ObjectError> ls=bindingResult.getAllErrors();
       System.out.println(ls);
       return "redirect:login.jsp";
    }
  return "hello";
}
public class UserModel {
    @NotNull(message="用户名不能为空")  
    private String username;
    private String password;
       get/set……
}

总结如下:

1.  加入校验用jar包:

2.  需要在spring配置文件中加入:  

<mvc:annotation-driven validator="validator" ></mvc:annotation-driven>
<!-- 校验器 -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
    <!-- Hibernate校验器 -->
    <property name="providerClass" value="org.hibernate.validator.HibernateValidator" />
</bean>

3.  UserModel中如果是校验表单输入框是否为空,应使用:

@NotEmpty(message="用户名不能为空")  

4. BindingResult必须跟表单对象配对使用:

  如:UserModel user,BindingResult bindingResult紧随UserModel其后

5. 需要在UserModel user前加上@Validated或者@Valid

 

欢迎补充……

posted @ 2017-12-20 09:41  silvan_happy  阅读(3427)  评论(0编辑  收藏  举报