流れるような構造の豆があります
public class Payment {
private String payType;
@Valid
private CreditCard creditCard;
private BankAccount bankAccount;
}
クレジット カード クラス
public class CreditCard {
@Pattern(regexp="(\\d{16})")
private String cardNumber;
@NotEmpty
@Size(max=40)
private String name;
@NotEmpty
private String securityCode;
@Future
private Date expiration_Date;
}
そのように、検証は銀行口座クラスにも適用されました。PayType が Credit の場合、CreditCard を検証する必要があります。それ以外の場合は、BankAccount を検証する必要があります。このタイプについては、リンクJSR 303 Validationのようにカスタムバリデータを作成できることを知っています
ただし、この場合、クラスのすべてのフィールドに対して検証ロジックを記述する必要があります。Paytype に応じて既存の検証が機能するように、いくつかのロジックを記述できます。@Valid
それは、型に応じた注釈が欲しいだけです。私を助けてください