<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.1.5.Final</version> </dependency> import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; public class AgeValidator implements ConstraintValidator[Age, Int] { override def isValid(value: Int, context: ConstraintValidatorContext): Boolean = { if (value == null) { return true; } return value >= 18; } } import javax.validation.Constraint; import scala.annotation.meta.field; import scala.annotation.meta.getter; import scala.annotation.meta.setter; @(classOf[AgeValidator]) @(getter) @(setter) (@(field @field)) public @interface Age { String message() default "Invalid age"; Class body() default {}; Class[] groups() default {}; Class[] payload() default {}; } public class Person { @Age private Integer age; // getter and setter methods } import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; ... ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); Person person = new Person(); person.setAge(20); Set<ConstraintViolation[Person]> violations = validator.validate(person); if (violations.isEmpty()) { } else { for (ConstraintViolation[Person] violation : violations) { System.out.println(violation.getMessage()); } }


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