1、Springmvc 和 hibernate-validation验证框架的整合首先要根据spring的版本导入不同版本的hibernate-validation的jar包 springmvc 3.x hibernate-validator-4.1.0.Final.jar validation-api-1.0.0.GA.jar jboss-logging-3.1.0.GA.jar springmvc 4.x classmate-1.3.1.jar hibernate-validator-5.3.1.Final.jar jboss-logging-3.3.0.Final.jar validation-api-1.1.0.Final.jar
2、hibernate颍骈城茇-validation验证框架所提供的关于验证的注解 * @Null 被注释的元素必须为 null * @NotNull 被注释的元素必须不为 nul造婷用痃l * @AssertTrue 被注释的元素必须为 true * @AssertFalse 被注释的元素必须为 false * @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 * @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 * @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值 * @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值 * @Size(max=, min=) 被注释的元素的大小必须在指定的范围内 * @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内 * @Past 被注释的元素必须是一个过去的日期 * @Future 被注释的元素必须是一个将来的日期 * @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式 * Hibernate Validator 附加的 constraint * @NotBlank(message =) 验证字符串非null,且长度必须大于0 * @Email 被注释的元素必须是电子邮箱地址 * @Length(min=,max=) 被注释的字符串的大小必须在指定的范围内 * @NotEmpty 被注释的字符串的必须非空 * @Range(min=,max=,message=) 被注释的元素必须在合适的范围内 * @URL(protocol=,host,port)//检查是否是一个有效的URL,如果提供了protocol,host等,则该URL还需满足提供的条件
3、验证的使用步骤 导入验证相关的jar包
4、在实体类的相应属性上添加注解 @NotBlank(message="商品名称不能为空") private String goodsName; @NotNull(message="商品价格不能为空") @DecimalMin(value="0", message="价格不能小于0") private Double price; @Min(value=0, message="库存数量不能小于0") private Integer storage;
5、在springmvc的控制器方法上,添加注解和参数 @RequestMapp坡纠课柩ing(value="/锾攒揉敫add", method=RequestMethod.POST) public String add(@Validated @ModelAttribute("goods") Goods goods, BindingResult validResult){ if(validResult.hasFieldErrors()==true){ return "goods/add"; } goods.setGoodsId(generateGoodsId()); goodsList.add(goods); return "redirect:list"; }