spring mvc 数据校验
-
spring 4.0 拥有自己的数据校验框架,同时支持JSR 303 标准的校验框架。
-
spring 在进行数据绑定时, 可同时调用校验框架完成数据校验工作,在spring mvc 中可以直接通过注解驱动的方式来进行数据校验。
-
spring 的 localValidatorFactoryBean既实现了spring的validator接口,也实现了JSR 303的validator 接口, 只要在spring 容器中定义一个 localValidatorFactoryBean , 即可将其注入到需要数据校验的bean中。
-
spring 不能提供JSR 303 必须借助jar包来实现数据校验功能
-
在spring mvc 中的
<mvc:annotation-driven/>
会默认装配好一个LocalValidatorFactoryBean , 通过在处理方法入参上标注@valid 注解即可让spring mvc 在完成数据绑定后执行数据校验的工作。
-
在已经标注了JsR 303 注解的表单对象前标注一个@Valid ,spring mvc 框架在将请求参数绑定到该入参对象后,就会调用校验框架根据注解声明的校验规则实施及校验
-
spring mvc 在处理完校验工作后会将结果存储到BindingResult对象中,所以BindingResult必须作为方法入参来获取报错信息
-
需校验的Bean对象和其绑定结果对象或错误对象是成对出现的,它们之间不允许声明其他入参。
-
通过参数中BindingResult对象中的hasErrors即可获取是否有错误,并根据相关逻辑来前往相关页面