StartWithValidation.class
@Documented @Constraint(validatedBy = StartWithValidator.class ) @Target({METHOD, FIELD}) @Retention(RUNTIME) public @interface StartWithValidation { String message() default "不是正确的性别取值范围"; String start() default "_"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER}) @Retention(RUNTIME) @Documented @interface List { StartWithValidation[] value(); } }
StartWithValidator.class
public class StartWithValidator implements ConstraintValidator<StartWithValidation, String> { private String start; @Override public void initialize(StartWithValidation constraintAnnotation) { start = constraintAnnotation.start(); } @Override public boolean isValid(String value, ConstraintValidatorContext context) { if (!StringUtils.isEmpty(value)) { return value.startsWith(start); } return true; } }
运用
@StartWithValidation(message = "Param 'address' must be start with 'Beijing'.", start = "Beijing") public String address;
以上是Springboot中要怎么自定义校验的详细内容。更多信息请关注PHP中文网其他相关文章!