BindingResult不能获取错误对象
Posted zhouyeqin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
欢迎补充……
以上是关于BindingResult不能获取错误对象的主要内容,如果未能解决你的问题,请参考以下文章
Thymeleaf Bean 名称“person”的 BindingResult 和普通目标对象都不能用作请求属性
Thymeleaf + Spring:Bean 名称“用户”的 BindingResult 和普通目标对象都不能用作请求属性
是啥导致“java.lang.IllegalStateException:Bean 名称‘command’的 BindingResult 和普通目标对象都不能用作请求属性”?
无法将数据保存到 mysql db,在 gradle 项目中,bean 名称“goal”的 BindingResult 和普通目标对象都不能用作请求属性