Yup针对另一个对象的子对象验证一个对象的子对象

问题描述

我有两个对象:发送国和接收国。这两个对象中的每个都有其他字段,但是我只想验证其中一个。我想检查接收国家/地区是否与接收国家/地区相同,如果是,则返回错误。我尝试了以下模式,但是它不起作用。我想念什么吗?

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);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...