这个比较好理解,就是用来验证客户输入的数据是否合法,比如客户登录时,用户名不能为空,或者不能超出指定长度等要求,这就叫做数据校验。
数据校验分为客户端校验和服务端校验
客户端校验:js校验
服务端校验:springmvc使用验证校验,struts2使用验证校验。都有自己的一套校验规则。
Springmvc本身没有校验功能,它使用hibernate的校验框架,hibernate的校验框架和orm没有关系
<强> 2.1,添加jar包强>
<强> 2.2,在springmvc.xml中配置验证器校验器,基本上直接复制拿过去用即可。强>
配置以下这些,相当于有人帮我们写好了校验代码,我们拿过来直接用就行了,所以需要进行配置。
将验证器注册到适配器中
<强>方式一(推荐)强>
<强>方式二:如果配置文件中使用的是非注解方式编写的适配器,则这样配置强>
& lt; !——校验器,配置验证器——比; & lt; bean id=把橹て鳌崩?皁rg.springframework.validation.beanvalidation.LocalValidatorFactoryBean”比; & lt;属性名=" providerClass " value=" https://www.yisu.com/zixun/org.hibernate.validator.HibernateValidator "祝辞& lt;/property> & lt;属性名=" validationMessageSource“ref=皏alidationMessageSource祝辞& lt;/property> & lt;/bean> & lt; !——配置validationMessageSource——比; & lt; bean id=皏alidationMessageSource”类=皁rg.springframework.context.support.ReloadableResourceBundleMessageSource”比; & lt; !——指定校验信息的资源文件的基本文件名称,不包括后缀,后缀默认是属性——比; & lt;属性名=":"在 & lt; list> & lt; value>类路径:validationMessageSource & lt;/list> & lt;/property> & lt; !——指定文件的编码——比; & lt;属性名=" fileEncodings " value=" https://www.yisu.com/zixun/utf8 "祝辞& lt;/property> & lt; !——对资源文件内容缓存的时间,单位秒——比; & lt;属性名=" cacheSeconds " value=" https://www.yisu.com/zixun/120 "祝辞& lt;/property> & lt;/bean>
<强> 2.3,validationMessageSource.properties 强>
该配置文件的作用就是存储校验失败时的提示文字信息的,也就是相当于将其提取出来放到配置文件中,
<强> 2.4,在pojo中指定校验规则强>
列举两个校验规则(使用的是注解校验),notnull和大小
1, items.name.size和items.createtime.notnull:就是读取validationMessageSource.properties中的配置信息。从这里就可以理解该配置文件的意义,防止硬编码。
2,使用注解对需要进行校验的属性进行绑定,而能够使这些注解生效的前提就是配置此前的几个步骤,2.1,2.2,2.3都必不可少
其他校验规则摘抄自网上
<强> 2.5,控制器中对其校验绑定进行使用强>
1, @Validated作用就是将pojo内的注解数据校验规则(@NotNull等)生效,如果没有该注解的声明,pojo内有注解数据校验规则也不会生效
2, BindingResult对象用来获取校验失败的信息(@NotNull中的消息),与@Validated注解必须配对使用,一前一后