<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.2.0.Final</version> </dependency> import javax.validation.Constraint; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import javax.validation.Payload; import javax.validation.constraints.Pattern; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) @Constraint(validatedBy = ValidName.Validator.class) public @interface ValidName { String message() default ""; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; class Validator implements ConstraintValidator<ValidName, String> { @Override public boolean isValid(String name, ConstraintValidatorContext context) { return name != null && name.length() > 1 && name.length() < 50; } } } public class User { private String name; // setter and getter methods } import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; import javax.validation.ConstraintViolation; import java.util.Set; public class Main { public static void main(String[] args) { User user = new User(); user.setName("John123"); ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); Set<ConstraintViolation<User>> violations = validator.validate(user); if (!violations.isEmpty()) { for (ConstraintViolation<User> violation : violations) { System.out.println(violation.getMessage()); } } } }


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