小编Hyp*_*ate的帖子

具有多个字段的Spring自定义注释验证

这里有一个小贪婪的问题,希望这个也可以帮助那些想要了解更多关于注释验证的人

我目前正在学习Spring,现在,我计划尝试自定义注释验证.

我已经搜索了很多,现在我知道主要有两种验证,一种用于控制器,另一种是使用@Valid的注释方法

所以这是我的场景:假设我有两个或更多字段,当它们是ALL NULL时可以为null.但只有当其中一个字段包含除空字符串之外的任何值时,这些字段才需要输入.我有两个想法,但不知道如何正确实现它们.

这是类示例:

public class Subscriber {
    private String name;
    private String email;
    private Integer age;
    private String phone;
    private Gender gender;
    private Date birthday;
    private Date confirmBirthday;
    private String birthdayMessage;
    private Boolean receiveNewsletter;

    //Getter and Setter
}
Run Code Online (Sandbox Code Playgroud)

假设我想生日和confirmBirthday字段需要为空或反对,我可能想要为每个使用一个注释注释它们,看起来像这样:

public class Subscriber {
    private String name;
    private String email;
    private Integer age;
    private String phone;
    private Gender gender;

    @NotNullIf(fieldName="confirmBirthday")
    private Date birthday;

    @NotNullIf(fieldName="birthday")
    private Date confirmBirthday;

    private String birthdayMessage;
    private Boolean receiveNewsletter;

    //Getter and Setter
}
Run Code Online (Sandbox Code Playgroud)

所以我需要像这样创建验证Annotation: …

java validation spring annotations spring-mvc

4
推荐指数
1
解决办法
8937
查看次数

标签 统计

annotations ×1

java ×1

spring ×1

spring-mvc ×1

validation ×1