--- /dev/null
+package com.supwisdom.dlpay.api.annotation;
+
+import com.supwisdom.dlpay.api.validator.StringListValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+@Constraint(validatedBy = {StringListValidator.class})
+@Documented
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface IntegerList {
+ String message() default "{validator.message.integerlist}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ String[] value();
+}
--- /dev/null
+package com.supwisdom.dlpay.api.annotation;
+
+import com.supwisdom.dlpay.api.validator.StringListValidator;
+
+import javax.validation.Constraint;
+import javax.validation.Payload;
+import java.lang.annotation.*;
+
+@Constraint(validatedBy = {StringListValidator.class})
+@Documented
+@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.FIELD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface StringList {
+ String message() default "{validator.message.stringlist}";
+
+ Class<?>[] groups() default {};
+
+ Class<? extends Payload>[] payload() default {};
+
+ String[] value();
+}
import lombok.Getter;
import lombok.Setter;
+import javax.validation.constraints.Email;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Sign
private String mobile;
@Sign
+ @Email(message = "Email 格式错误")
private String email;
@Sign
private String address;
--- /dev/null
+package com.supwisdom.dlpay.api.validator;
+
+import com.supwisdom.dlpay.api.annotation.IntegerList;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.Arrays;
+
+public class IntegerListValidator implements ConstraintValidator<IntegerList, Integer> {
+
+ private Integer[] valueList;
+
+ @Override
+ public boolean isValid(Integer value, ConstraintValidatorContext context) {
+ if (Arrays.asList(valueList).contains(value))
+ return true;
+ return false;
+ }
+
+ @Override
+ public void initialize(IntegerList constraintAnnotation) {
+ valueList = new Integer[constraintAnnotation.value().length];
+ for (int i = 0; i < constraintAnnotation.value().length; i++) {
+ valueList[i] = Integer.parseInt(constraintAnnotation.value()[i]);
+ }
+ }
+}
--- /dev/null
+package com.supwisdom.dlpay.api.validator;
+
+import com.supwisdom.dlpay.api.annotation.StringList;
+
+import javax.validation.ConstraintValidator;
+import javax.validation.ConstraintValidatorContext;
+import java.util.Arrays;
+
+public class StringListValidator implements ConstraintValidator<StringList, String> {
+
+ private String[] valueList;
+
+ @Override
+ public boolean isValid(String value, ConstraintValidatorContext context) {
+ if (Arrays.asList(valueList).contains(value))
+ return true;
+ return false;
+ }
+
+ @Override
+ public void initialize(StringList constraintAnnotation) {
+ valueList = constraintAnnotation.value();
+ }
+}