首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Hibernate Validator时另一个类内部的类的批注

使用Hibernate Validator时另一个类内部的类的批注
EN

Stack Overflow用户
提问于 2017-08-11 23:01:06
回答 1查看 203关注 0票数 1

我使用Hibernate Validator API对一个名为Supplier_Registration的表进行服务器端验证。对应的Java类如下所示。它的一个成员是另一个名为Address的类。为了也验证Address类的成员,我需要对Address使用什么注释?提前谢谢你。

代码语言:javascript
复制
public class Registration implements Serializable {
    private static final long serialVersionUID = 3380401999460628270L;
    private static final String EMAIL_PATTERN =
            "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

    @NotNull(message="{legalName_notnull}")
    @Size(min=1, max=255, message="{legalName_not_to_exceed}")

    private String legalName;

    @NotNull(message="{adminFirstName_notnull}")
    @Size(min=1, max=40, message="{adminFirstName_not_to_exceed}")
    private String adminFirstName;


    @NotNull(message="{adminLastName_notnull}")
    @Size(min=1, max=40, message="{adminLastName_not_to_exceed}")
    private String adminLastName;

    @NotNull(message="{adminEmail_notnull}")
    @Size(min=1, max=255, message="{adminEmail_not_to_exceed}")
    @Pattern(regexp=EMAIL_PATTERN, message="{adminEmail_not_valid}")
    private String adminEmail;

    @NotNull(message="{reEnterEmail_notnull}")
    @Size(min=1, max=255, message="{reEnterEmail_not_to_exceed}")
    @Pattern(regexp=EMAIL_PATTERN, message="{reEnterEmail_not_valid}")

    private String reEnterEmail;

    @NotNull(message="{phoneCountryNumber_notnull}")
    @Size(min=1, max=5, message="{phoneCountryNumber_not_to_exceed}")
    private String phoneCountryNbr;

    @NotNull(message="{phoneNumber_notnull}")
    @Size(min=1, max=18, message="{phoneNumber_not_to_exceed}")
    private String phoneNumber;

    @NotNull(message="{dunsNumber_notnull}")
    @Size(min=1, max=9, message="{dunsNumber_not_to_exceed}")
    private String dunsNumber;

    private Address address;
EN

回答 1

Stack Overflow用户

发布于 2017-08-12 13:21:28

您要执行的这种验证称为级联验证。要验证address,您需要在address属性上使用@Valid注释。此外,如果address是必填的(即如果该字段不能为空),您也可以使用@NotNull。所以你会得到类似这样的东西:

代码语言:javascript
复制
public class Registration implements Serializable {
    // all other properties ...

    @Valid // this one is requred if you want address constraints to be validated
    @NotNull // this one is optional - use it in case if address is a mandatory field
    private Address address;
}

您可以在此处的文档中找到有关级联验证的所有信息- Object graphs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45638273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档