Spring 弹簧验证
我试图在Spring的命令对象中使用这种类型的东西Spring 弹簧验证,spring,validation,Spring,Validation,我试图在Spring的命令对象中使用这种类型的东西 @NotBlank private String carrier; @NotBlank(applyIf = "this.carrier EQUALS 'GlobalCrossing'") private String port; 如果可能的话,请让我知道。字段载体可以有许多值,如果该值是全局交叉的,则应在端口字段上应用非空检查 我可以用spring验证模块实现这一点吗?或者有其他方法实现这一点吗?因为您的验证依赖于订单(即必
@NotBlank
private String carrier;
@NotBlank(applyIf = "this.carrier EQUALS 'GlobalCrossing'")
private String port;
如果可能的话,请让我知道。字段载体可以有许多值,如果该值是全局交叉的,则应在端口字段上应用非空检查
我可以用spring验证模块实现这一点吗?或者有其他方法实现这一点吗?因为您的验证依赖于订单(即必须在端口之前设置承运商),所以您可能希望在初始化后执行验证 在Spring中,您可以执行以下任一操作来创建初始化回调方法:
org.springframework.beans.factory.InitializingBean
接口init method
属性声明一个初始化方法defaultinitmethod
属性为bean声明默认初始化方法这里是初始化回调的链接。因为您还可以对方法进行注释,所以您可以尝试这样做
import javax.validation.constraints.*;
.
.
.
@AssertTrue
private boolean isPortNotBlankIfCarrierEqualsGlobalCrossing() {
return carrier.compareTo("GlobalCrossing") == 0 ? port.isBank() : true;
}