标签:
1.添加Hiberbate validator相关的jar包
2.字需要验证的formbean 上添加验证的注解,内置注解有:
可以自己扩展。
用法例子:我们接受表单的验证bean为ProductUnityFormatModel
public class ProductUnityFormatModel {
private String productId;//产品ID
private String categoryId; //产品分类ID
private List<String> categoryName;//产品名字
private String shopCategoryId;//店铺分类ID
@Size(min = 1,max = 50,message = "<标题长度1-50字以内>")
private String productName;//产品名称
private String productCode;//产品编号
@NotNull(message = "<至少上传一张照片>")
private String[] productImgs;
@NotEmpty(message = "<发货地不为空>")
private String addrProvinceName;//所在省份
@NotEmpty(message = "<发货地省市不为空>")
private String addrProvinceCode;//所在省份code
private String addrCityName;//所在市
@NotEmpty(message = "<发货地市区不为空>")
private String addrCityCode;//所在市code
@Pattern(regexp = "[0-9]+",message = "<库存数量为纯数字>")
private String inventoryNum;//库存数量
@Pattern(regexp = "[0-9]+[.]?[0-9]*?",message = "<商品原价为纯数字或小数>")
private String marketPrice;//市场价
@Pattern(regexp = "[0-9]+[.]?[0-9]*?",message = "<微店价为纯数字或小数>")
private String salePrice;//销售价
@NotEmpty(message = "<商品的详情不为空>")
private String productDescription;//商品描述
@Pattern(regexp = "[0-9]+[.]?[0-9]*?",message = "<运费为纯数字或小数>")
private String freight;//运费
//省略get和set方法
}
在controller中的请求方法的接受对象添加@Valid注解:
@RequestMapping(value = "/product/savingProductInformation",method = RequestMethod.POST)
public String savingProductInformation(Model model,@Valid @ModelAttribute("unityFormatModel") ProductUnityFormatModel unityFormatModel, BindingResult result){
if(result.hasErrors()){
//如果验证不通过,result.hasErrors()为true
//todo somthing --可以带些填了的数据回去,方便回显,提供友好点的体验
return "";//返回到字段验证失败的请求页面
}}
在jsp页面(用其他的渲染模板,自己查下怎么用)
可以用Spring的标签<form:errors path="填验证的formbean字段"/>如果该字段不通过验证,这个标签会显示你在验证注解中填写的message内容
SpringMVC利用Hibernate validator做字段验证
标签:
原文地址:http://www.cnblogs.com/LvLoveYuForever/p/5664021.html