2017-06-17 120 views
0

我正在开发一个使用spring-boot的应用程序。我想使用JSR注释来验证用户bean。问题是我有一些领域取决于他人的价值。例如,当status =“user_pr”时,我必须将地址,县和电话号码设置为强制性的。自定义bean验证

这是我的豆:

@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\\.\\-_]+)?\\[email protected][\\w-_]+(\\.\\w+){1,}$") 
    private String mailAddress; 

    private String country; 
    private String phoneNumber; 

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

请问您有什么想法?

问候

+0

检查Spring验证文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html – Sigrist

回答

0

几个星期前,我有同样的问题,我创建了自己的验证注解与自定义验证逻辑。您可以在我的存储库中找到展示项目:ConditionalValidator。 如果您有任何问题,请询问。

+0

Thanks @ balag3。有一种解决方案也适用于我:https://stackoverflow.com/questions/9284450/jsr-303-validation-if-one-field-equals-something-then-these-other-fields-sho – Olivier