import javax.validation.*; import java.util.Set; public class User { @NotNull @Size(min = 2, max = 20) private String name; @NotNull @Email private String email; } public class Main { public static void main(String[] args) { User user = new User(); user.setName("John"); user.setEmail("john@example.com"); 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()); } } } } import javax.validation.Constraint; import javax.validation.Payload; import java.lang.annotation.*; @Documented @Constraint(validatedBy = CustomValidator.class) @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface CustomValidation { Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; } import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; public class CustomValidator implements ConstraintValidator<CustomValidation, String> { @Override public void initialize(CustomValidation constraintAnnotation) { } @Override public boolean isValid(String value, ConstraintValidatorContext context) { return value != null && value.startsWith("prefix"); } }


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