我使用Hibernate Validator API对一个名为Supplier_Registration的表进行服务器端验证。对应的Java类如下所示。它的一个成员是另一个名为Address的类。为了也验证Address类的成员,我需要对Address使用什么注释?提前谢谢你。
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;发布于 2017-08-12 13:21:28
您要执行的这种验证称为级联验证。要验证address,您需要在address属性上使用@Valid注释。此外,如果address是必填的(即如果该字段不能为空),您也可以使用@NotNull。所以你会得到类似这样的东西:
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
https://stackoverflow.com/questions/45638273
复制相似问题