Springboot 自定義校驗程式碼例項
阿新 • • 發佈:2020-01-07
這篇文章主要介紹了Springboot 自定義校驗程式碼例項,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
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;
解釋:
地址必須以Beijing開頭,否則校驗失敗
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。