符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
这期内容当中小编将会给大家带来有关SpringMVC中怎么实现Validation校验,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
专注于为中小企业提供网站设计制作、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业伊通免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。一、概述
对前端的校验大多数通过js在页面校验,这种方法比较简单,如果对安全性考虑,还要在后台校验。
springmvc使用JSR-303(javaEE6规范的一部分)校验规范,springmvc使用的是Hibernate Validator(和Hibernate的ORM)
二、步骤
2.1 引入 Hibernate Validator
2.2 配置
2.3 创建CustomValidationMessages
在classpath下创建CustomValidationMessages.properties
# 校验提示信息:还需要在java中配置items.name.length.error=商品长度请限制在1-30之间items.createtime.is.notnull=请输入商品生产日期
2.4 校验规则
商品信息提交时校验 ,商品生产日期不能为空,商品名称长度在1到30字符之间
public class Items { private Integer id; //商品名称的长度请限制在1到30个字符 @Size(min=1,max=30,message="{items.name.length.error}") private String name; private Float price; private String pic; //请输入商品生产日期 @NotNull(message="{items.createtime.is.notnull}") private Date createtime; private String detail;}
2.5 捕获错误
需要修改controller方法,在要校验的pojo前边加上@Validated,
public String editItemSubmit(Model model,Integer id, @Validated @ModelAttribute(value="itemsCustom") ItemsCustom itemsCustom, BindingResult bindingResult, //上传图片 MultipartFile pictureFile )throws Exception{ //输出校验错误信息 //如果参数绑定时有错 //输出校验错误信息 //如果参数绑定时有错 if(bindingResult.hasErrors()){ //获取错误 List
2.6 在页面上展示错误
2.7 分组校验
需求
针对不同的controller方法通过分组校验达到个性化校验的目的,修改商品修改功能,只校验生产日期不能为空。
第一步:创建分组接口
public interface ValidGroup1 { //接口不定义方法,就是只标识 哪些校验 规则属于该 ValidGroup1分组}
第二步:定义校验规则属于哪个分组
//请输入商品生产日期//通过groups指定此校验属于哪个分组,可以指定多个分组 @NotNull(message="{items.createtime.is.notnull}",groups={ValidGroup1.class}) private Date createtime;
第三步:在controller方法定义使用校验的分组
public String editItemSubmit(Model model,Integer id, @Validated(value={ValidGroup1.class}) @ModelAttribute(value="itemsCustom") ItemsCustom itemsCustom, BindingResult bindingResult, //上传图片 MultipartFile pictureFile )throws Exception{ //...其他代码省略... }
上述就是小编为大家分享的SpringMVC中怎么实现Validation校验了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。