Java自定义验证注释
如何将课程变量传递给CustomValidation批注?我得到一个错误,说课程必须是一个枚举常量表达式Java自定义验证注释,java,spring-mvc,annotations,Java,Spring Mvc,Annotations,如何将课程变量传递给CustomValidation批注?我得到一个错误,说课程必须是一个枚举常量表达式 我还编写了一个自定义验证接口和验证器 注释属性在编译时必须是常量 您不能在那里使用变量 这里的关键字是跨字段验证 您有两个选择: 在类级别创建注释。在这里,您可以访问类的所有属性,验证应该很容易完成 或者在方法级别创建注释,该注释返回验证所需的所有字段 public class Student{ @NotNull private Course course= null
我还编写了一个自定义验证接口和验证器 注释属性在编译时必须是常量 您不能在那里使用变量 这里的关键字是
跨字段验证
您有两个选择:
public class Student{
@NotNull
private Course course= null;
@CustomValidation(enumCourse = course)
private String details = null;
}
}
@CustomAnnotations
配对getCourseAndDetailForValidation(){
返回对。当然,详细信息)
}
您可以更改返回类型以符合您的口味,它可以是列表、数组、包装器对象注释属性在编译时必须为常量 您不能在那里使用变量 这里的关键字是
跨字段验证
您有两个选择:
public class Student{
@NotNull
private Course course= null;
@CustomValidation(enumCourse = course)
private String details = null;
}
}
@CustomAnnotations
配对getCourseAndDetailForValidation(){
返回对。当然,详细信息)
}
您可以更改返回类型以符合您的口味,它可以是列表、数组、包装器对象JLS第9.6.1节对此进行了规定。注释成员类型必须是以下类型之一: 原始的 一串 等级 枚举 另一个注释 上面任意一个的数组
课程必须是这些类型中的一种。JLS第9.6.1节对此进行了规定。注释成员类型必须是以下类型之一: 原始的 一串 等级 枚举 另一个注释 上面任意一个的数组
课程必须是这些类型中的一种。如何将此方法传递给@CustomValidation(enumCourse=Course)?您是否阅读了有关自定义验证的内容?使用
@CustomAnnotation
在CustomAnnotationValidator.java
类中对方法进行注释后,您就可以访问isValid()
方法中的那些属性(course
和details
),并且可以实现您的逻辑。如何将此方法传递给@CustomValidation(enumCourse=course)?您读过关于自定义验证的内容吗?一旦您使用@CustomAnnotation
对方法进行了注释,在CustomAnnotationValidator.java
类中,您就可以访问isValid()
方法中的那些属性(课程
和详细信息
),并且可以在那里实现您的逻辑