package com.cloudwing.dfs.common.validation.constraints;
import org.apache.commons.lang.StringUtils;
import javax.validation.Constraint;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import javax.validation.Payload;
import java.lang.annotation.*;
/**
* Create by cjf on 2018/9/20.
*/
@Documented
@Constraint(validatedBy = ParamValidate.ValidStringChecker.class)
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface ParamValidate {
String message() default "";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
/**
* 只允许出现的字符
* @return
*/
String[] limitStr() default {""};
class ValidStringChecker implements ConstraintValidator<ParamValidate,String> {
String[] list;
@Override
public void initialize(ParamValidate arg0) {
list = arg0.limitStr();
}
@Override
public boolean isValid(String strValue, ConstraintValidatorContext context) {
if(!StringUtils.isEmpty(strValue)) {
for (String str : list) {
if (str.equals(strValue)) {
return true;
}
}
return false;
}
return false;
}
}
}
Java自定义注解
最新推荐文章于 2024-04-19 21:37:45 发布