Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 允许覆盖/设置用于Hibernate验证的子对象的约束验证_Java_Bean Validation_Hibernate Validator - Fatal编程技术网

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{
字符串消息()默认为“无效电子邮件地址”;
类[]组()默认值{};

感谢您的回复。我真的希望避免为此创建自定义验证器。