java中的自定义bean验证
我一直在寻找一种方法,只验证bean的某些属性,而不是所有属性 例如:java中的自定义bean验证,java,bean-validation,hibernate-validator,Java,Bean Validation,Hibernate Validator,我一直在寻找一种方法,只验证bean的某些属性,而不是所有属性 例如: public Class TestA { @NotEmpty private String first; @NotEmpty @Size(min=3,max=80) private String second; //getters and setters } 我有另一个名为“TestB”的类,它引用类“TestA”,如下所示 public Class TestB { @NotEmpty priva
public Class TestA {
@NotEmpty
private String first;
@NotEmpty
@Size(min=3,max=80)
private String second;
//getters and setters
}
我有另一个名为“TestB”的类,它引用类“TestA”,如下所示
public Class TestB {
@NotEmpty
private String other;
@Valid
private TestA testA;
//public getters and setters
}
是否可以编写自定义注释验证程序来仅验证某些属性?像下面这样的
public Class TestB {
@NotEmpty
private String other;
@CustomValid(properties={"second"})
private TestA testA;
//public getters and setters
}
使用
groups
属性来执行此操作。看起来是这样的:
public Class TestA {
@NotEmpty(groups = {Second.class})
private String first;
@NotEmpty(groups = {Second.class})
@Size(min=3,max=80, groups = {Second.class})
private String second;
//getters and setters
}
及
其中,Second
是一个在某处定义的空接口
有关更多详细信息,请参阅文档中的示例:另外,如果您使用Spring>=3.1,您可能会对允许对指定组进行验证的@Validates
注释感兴趣。使用继承(接口和超类)
public Class TestB {
@NotEmpty
private String other;
@Valid
private TestA testA;
//public getters and setters
}