validation注解及自定义注解
生活随笔
收集整理的這篇文章主要介紹了
validation注解及自定义注解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Bean Validation 中內(nèi)置的 constraint:
- @Null?被注釋的元素必須為 null
- @NotNull?被注釋的元素必須不為 null
- @AssertTrue?被注釋的元素必須為 true
- @AssertFalse?被注釋的元素必須為 false
- @Min(value)?被注釋的元素必須是一個(gè)數(shù)字,其值必須大于等于指定的最小值
- @Max(value)?被注釋的元素必須是一個(gè)數(shù)字,其值必須小于等于指定的最大值
- @DecimalMin(value)?被注釋的元素必須是一個(gè)數(shù)字,其值必須大于等于指定的最小值
- @DecimalMax(value)?被注釋的元素必須是一個(gè)數(shù)字,其值必須小于等于指定的最大值
- @Size(max=, min=)?被注釋的元素的大小必須在指定的范圍內(nèi)
- @Digits(integer, fraction)?被注釋的元素必須是一個(gè)數(shù)字,其值必須在可接受的范圍內(nèi)
- @Past?被注釋的元素必須是一個(gè)過(guò)去的日期
- @Future?被注釋的元素必須是一個(gè)將來(lái)的日期
- @Pattern(regex=,flag=)?被注釋的元素必須符合指定的正則表達(dá)式
Hibernate Validator 附加的 constraint:
- @NotBlank?驗(yàn)證字符串非null,且長(zhǎng)度必須大于0
- @Email?被注釋的元素必須是電子郵箱地址
- @Length(min=,max=)?被注釋的字符串的大小必須在指定的范圍內(nèi)
- @NotEmpty?被注釋的字符串的必須非空
- @Range(min=,max=,message=)?被注釋的元素必須在合適的范圍內(nèi)
自定義注解?
?
package com.nf147.ssm.annotation;import java.lang.annotation.*; import java.util.Arrays; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import javax.validation.Payload;@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Status {String message() default "沒(méi)有這個(gè)類型,請(qǐng)重新選擇";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {}; } class StatusValidator implements ConstraintValidator<Status,String>{@Overridepublic void initialize(Status constraintAnnotation) {}@Overridepublic boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {//判斷傳入的值 s 是否是集合里的值return Arrays.asList("create","shop").contains(s);} }
?
之后,在實(shí)體類對(duì)于指端上加上 @Status 就可以了
?
轉(zhuǎn)載于:https://www.cnblogs.com/wfhking/p/9882198.html
總結(jié)
以上是生活随笔為你收集整理的validation注解及自定义注解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DHCP服务搭建(1)
- 下一篇: [py2neo]Ubuntu14 安装p