<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; public class StringLengthValidator implements ConstraintValidator<StringLength, String> { private int min; private int max; @Override public void initialize(StringLength constraintAnnotation) { this.min = constraintAnnotation.min(); this.max = constraintAnnotation.max(); } @Override public boolean isValid(String value, ConstraintValidatorContext context) { if (value == null) { return true; } int length = value.length(); return length >= min && length <= max; } } import javax.validation.Constraint; import javax.validation.Payload; import java.lang.annotation.*; @Documented @Constraint(validatedBy = StringLengthValidator.class) @Target({ElementType.FIELD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) public @interface StringLength { String message() default "Invalid string length"; int min() default 0; int max() default Integer.MAX_VALUE; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; } public class User { @StringLength(min = 5, max = 10) private String username; } import org.springframework.context.annotation.Configuration; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; @Configuration public class ValidationConfig { @Bean public LocalValidatorFactoryBean validator() { return new LocalValidatorFactoryBean(); } }


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