问题描述
我有两个对象:发送国和接收国。这两个对象中的每个都有其他字段,但是我只想验证其中一个。我想检查接收国家/地区是否与接收国家/地区相同,如果是,则返回错误。我尝试了以下模式,但是它不起作用。我想念什么吗?
const validationSchema = object({
sending_country: object({
name: string().ensure().required().max(100,"Name too long")
}),receiving_country: object({
name: string().ensure().required().max(100,"Name too long").when(
"$sending_country.name",(sending_country,schema) => {
return schema.test({
test: receiving_country => receiving_country.name !== sending_country.name,message: "Both countries cannot be identical"
})
})
})
})
解决方法
我最终混合了一些溶液
this.userConfig = optionalGenericConfigMapFromPath( UserConfig.class,objectMapper,userConfigMapPath);
this.networkConfig = optionalGenericConfigMapFromPath( NetworkConfig.class,networkConfigMapPath);
this.doodadConfig = optionalGenericConfigMapFromPath( DoodadConfig.class,doodadConfigMapPath);