Java 在应用自定义之前,请检查字段是否已违反某些规则
我有我的自定义验证注释和它的验证器。我不想做的是,仅当字段不违反其他REST说明时才应用此自定义验证器。假设以下代码Java 在应用自定义之前,请检查字段是否已违反某些规则,java,hibernate-validator,Java,Hibernate Validator,我有我的自定义验证注释和它的验证器。我不想做的是,仅当字段不违反其他REST说明时才应用此自定义验证器。假设以下代码 class MyClass { @NotNull @Size(min = 10, max = 20) @MyCustomVlidatorAnnotation private String field; } 我只想在字段不为空且大小在[10,20]范围内时应用自定义验证器,否则跳过我的自定义验证器这可以使用@javax.validation.GroupSequ
class MyClass {
@NotNull
@Size(min = 10, max = 20)
@MyCustomVlidatorAnnotation
private String field;
}
我只想在
字段
不为空且大小在[10,20]范围内时应用自定义验证器,否则跳过我的自定义验证器这可以使用@javax.validation.GroupSequence
完成
@GroupSequence({ javax.validation.groups.Default.class, SecondPriorityCheck.class })
public interface ValidationSequence {
}
class MyClass {
@NotNull // by default belongs to group Default
@Size(min = 10, max = 20) // same here
@MyCustomVlidatorAnnotation(groups = SecondPriorityCheck.class)
private String field;
}
然后您必须使用ValidationSequence
javax.validation.Validator validator = ..
MyClass instance = ..
validator.validate(instance, ValidationSequence.class)
您可以在这里找到示例这可以使用
@javax.validation.GroupSequence
完成
@GroupSequence({ javax.validation.groups.Default.class, SecondPriorityCheck.class })
public interface ValidationSequence {
}
class MyClass {
@NotNull // by default belongs to group Default
@Size(min = 10, max = 20) // same here
@MyCustomVlidatorAnnotation(groups = SecondPriorityCheck.class)
private String field;
}
然后您必须使用ValidationSequence
javax.validation.Validator validator = ..
MyClass instance = ..
validator.validate(instance, ValidationSequence.class)
您可以在此处找到示例您可以尝试对约束进行排序,检查@user12176589,但如何在自定义验证器中检查以前的约束是否已违反?您可以尝试对约束进行排序,检查@user12176589,但如何在自定义验证器中检查以前的约束是否已违反?