标签:大小 out validator amp att setname nts path actor
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.4.1.Final</version> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>2.2.4</version> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>javax.el</artifactId> <version>2.2.4</version> </dependency>
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@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=) 被注释的元素必须在合适的范围内
package com.example.demo.model; import javax.validation.constraints.Pattern; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotEmpty; import org.hibernate.validator.constraints.Range; public class User { @NotEmpty private String name; @NotEmpty @Length(min=3,max=10) private String passWord; @Range(min = 18, max = 100) private int age; @Pattern(regexp="^[\u7537\u5973]+$",message="只能是男或者女") private String sex; // get set ....... }
package com.example.demo; import java.util.Iterator; import java.util.Set; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.example.demo.model.User; @RunWith(SpringRunner.class) @SpringBootTest public class DemoTest { @Test public void test() { User u = new User(); u.setName(""); u.setPassWord("8888888888888888888888"); u.setAge(88); u.setSex("人妖"); Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); Set<ConstraintViolation<Object>> constraintViolations = validator.validate(u);// 验证某个对象,,其实也可以只验证其中的某一个属性的 Iterator<ConstraintViolation<Object>> iter = constraintViolations.iterator(); System.out.println("错误总数:" + constraintViolations.size()); while (iter.hasNext()) { ConstraintViolation<Object> c = iter.next(); System.out.println(c.getPropertyPath() + ":" + c.getMessage()); } } }
标签:大小 out validator amp att setname nts path actor
原文地址:http://www.cnblogs.com/xiaomaha/p/7811851.html