gpt4 book ai didi

java - Spring MVC 3.1 根据字段值应用自定义验证

转载 作者:行者123 更新时间:2023-11-29 09:04:29 26 4
gpt4 key购买 nike

我有一个具有流动结构的bean

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 中那样编写一个自定义 validator

但在这种情况下,我需要为类的所有字段编写验证逻辑。可以编写一些逻辑,以便根据 paytype 现有验证工作。那只是我想要根据类型的 @Valid 注释。请帮助我

最佳答案

我终于得到了问题的解决方案,我发布了答案,以便对其他人有所帮助。逻辑是我需要提供一个自定义方法,它将返回我想要验证的对象。如下图

public class Payment {
private String payType;

private CreditCard creditCard;
private BankAccount bankAccount;

@Valid
public Object getValid(){
if(creditCard!=null && payType.equals("credit"))
return creditCard;
if(bankAccount !=null&& payType.equals("bank")){
return bankAccount;
}
return null;
}
}

关于java - Spring MVC 3.1 根据字段值应用自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15803172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com