<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)@SpringBootTestpublic 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()); ???????} ???}}
hibernate validator
原文地址:http://www.cnblogs.com/xiaomaha/p/7811851.html