@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy = EmailValidator.class) public @interface Email { String message() default "Invalid email"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; } public class EmailValidator implements ConstraintValidator<Email, String> { @Override public void initialize(Email constraintAnnotation) { } @Override public boolean isValid(String value, ConstraintValidatorContext context) { if (value == null) { } return value.matches("^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$"); } } public class User { @Email private String email; } public class Main { public static void main(String[] args) { User user = new User(); ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); Set<ConstraintViolation<User>> violations = validator.validate(user); if (violations.isEmpty()) { } else { for (ConstraintViolation<User> violation : violations) { System.out.println(violation.getMessage()); } } } }


上一篇:
下一篇:
切换中文