hibernate validation内置注解及自定义注解
2021-07-14 08:04
标签:errors sse 实现 which name time als log ror 自定义注解: hibernate validation内置注解及自定义注解 标签:errors sse 实现 which name time als log ror 原文地址:http://www.cnblogs.com/HHR-SUN/p/7076397.html 1 Bean Validation 中内置的 constraint
2 @Null 被注释的元素必须为 null
3 @NotNull 被注释的元素必须不为 null
4 @AssertTrue 被注释的元素必须为 true
5 @AssertFalse 被注释的元素必须为 false
6 @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
7 @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
8 @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
9 @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
10 @Size(max=, min=) 被注释的元素的大小必须在指定的范围内
11 @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
12 @Past 被注释的元素必须是一个过去的日期
13 @Future 被注释的元素必须是一个将来的日期
14 @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式
15
16 Hibernate Validator 附加的 constraint
17 @NotBlank(message =) 验证字符串非null,且长度必须大于0
18 @Email 被注释的元素必须是电子邮箱地址
19 @Length(min=,max=) 被注释的字符串的大小必须在指定的范围内
20 @NotEmpty 被注释的字符串的必须非空
21 @Range(min=,max=,message=) 被注释的元素必须在合适的范围内
Employee.java
package org.lxl.spring.form.model;
public class Employee {
private int id;
private String name;
private String role;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
}
Employee是一个标准的java bean,我们使用Validate接口的实现类来验证这个类。
自定义验证实现
Phone.java
package org.lxl.spring.form.validator;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.RetentionPolicy;
import javax.validation.Constraint;
import javax.validation.Payload;
@Documented
@Constraint(validatedBy = PhoneValidator.class)
@Target({ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Phone {
String message() default "{Phone}";
Class>[] groups() default {};
Class extends Payload>[] payload() default {};
}
大多数的部分是样板式代码与jsr - 303规范确认。最重要的部分是@Constraint注释,我们提供的类即PhoneValidator将用于验证。
PhoneValidator.java
package org.lxl.spring.form.validator;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
public class PhoneValidator implements ConstraintValidator
上一篇:莫队算法入门
下一篇:JS如何实现真正的对象常量
文章标题:hibernate validation内置注解及自定义注解
文章链接:http://soscw.com/essay/105010.html