自定义 bean 验证

Custom bean validation

我正在使用 spring-boot 开发应用程序。我想使用 JSR 注释验证用户 bean。问题是我有一些字段依赖于其他字段的值。例如,当 status="user_pr" 时,我必须将地址、县和电话号码设为强制性。

这是我的豆子:

 @JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class User {

    @NotNull(message = "required")
    private String status;

    @JsonProperty("first_name")
    @NotNull(message = "required")
    private String firstName;

    @NotNull(message = "required")
    private String name;

    @NotNull(message = "required")
    @Pattern(message = "Email not valid", regexp = "^([\w\.\-_]+)?\w+@[\w-_]+(\.\w+){1,}$")
    private String mailAddress;

    private String country;
    private String phoneNumber;

    @JsonProperty("address")
    private Address billingAddress;
}

你有什么想法吗?

此致

几周前我遇到了同样的问题,我使用自定义验证逻辑创建了自己的验证注释。您可以在我的存储库中找到展示项目:ConditionalValidator。 有什么问题尽管问。