2017-06-17 6 views
0

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

    private String country; 
    private String phoneNumber; 

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

は、あなたが任意のアイデアを持っていますか?

敬具

+0

Spring Validationのドキュメントを確認してください。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