我是 JAVA 的新手。我在 SPRING 中為自定義驗證創建了一個新的自定義注釋,但是當我運行該應用程式時,我看到了這個錯誤:
The annotation @CourseCode must define the attribute groups The annotation @CourseCode must define the attribute message The annotation @CourseCode must define the attribute payload The annotation @CourseCode must define the attribute value
這是我的實作:
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.validation.Constraint;
import javax.validation.Payload;
@Constraint(validatedBy = CourseCodeConstraintValidator.class)
@Target({ ElementType.METHOD, ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface CourseCode {
public String value() default "course-";
public String message() default "must start with course-";
public Class<?>[] groups() default {};
public Class<? extends Payload>[] payload() default {};
}
這是我的用法
@CourseCode
private String courseCode;
這是我的 CourseCodeConstraintValidator。
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
public class CourseCodeConstraintValidator implements ConstraintValidator<CourseCode, String>{
private String coursePrefix;
@Override
public void initialize(CourseCode courseCode) {
coursePrefix = courseCode.value();
}
@Override
public boolean isValid(String code, ConstraintValidatorContext constraintValidatorContext) {
boolean result = code.startsWith(coursePrefix);
return result;
}
}
我希望使用我在類中定義的默認值。
uj5u.com熱心網友回復:
經過大量的研究,我放棄了幾天。現在我回過頭來,突然發現重啟 PC 后在 eclipse 中切換視角已經成功了,現在它按我預期的那樣作業了。感謝所有試圖提供幫助的人。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/534230.html
標籤:爪哇春天验证注释
上一篇:驗證資料框日期,回傳不匹配的值
