Java 允许覆盖/设置用于Hibernate验证的子对象的约束验证
我有以下课程:Java 允许覆盖/设置用于Hibernate验证的子对象的约束验证,java,bean-validation,hibernate-validator,Java,Bean Validation,Hibernate Validator,我有以下课程: class联系人信息{ 字符串电话; 字符串电子邮件; } 在以下类别中使用: 班级人员{ @有效的 联系方式联系方式; } 类站{ @有效的 联系方式联系方式; } 问题是,任何人的实例都必须有一封电子邮件,但这是站点的可选信息。我是否有办法在所有者级别定义此项,以避免重复类联系人信息?而不是字段级别验证器,您可以添加类型级别验证器。 步骤: 定义类型级别注释 为新注释编写验证程序 使用新注释介绍您的类型 定义: @Constraint(validatedBy={Pe
class联系人信息{
字符串电话;
字符串电子邮件;
}
在以下类别中使用:
班级人员{
@有效的
联系方式联系方式;
}
类站{
@有效的
联系方式联系方式;
}
问题是,任何人的实例都必须有一封电子邮件,但这是站点的可选信息。我是否有办法在所有者级别定义此项,以避免重复类
联系人信息
?而不是字段
级别验证器,您可以添加类型
级别验证器。
步骤:
- 定义类型级别注释
- 为新注释编写验证程序
- 使用新注释介绍您的类型
@Constraint(validatedBy={PersonClassOptionalEmailValidator.class})
@目标({ElementType.TYPE})
@保留(RetentionPolicy.RUNTIME)
public@interface PersonalEmailValid{
字符串消息()默认为“无效电子邮件地址”;
类[]组()默认值{};
感谢您的回复。我真的希望避免为此创建自定义验证器。