gpt4 book ai didi

javascript - 是的如何验证空对象上的必填字段

转载 作者:行者123 更新时间:2023-12-05 01:37:42 27 4
gpt4 key购买 nike

我在验证强制字段时遇到问题,这些字段是(可能)空对象的属性。

这是一个示例模式:

object().shape({
catalog: {
brand: string().required()
}
})

如果我尝试根据此模式验证以下对象,我会收到预期的错误:需要品牌。据我了解,为 undefined object 创建了一个默认值,它模仿模式中对象的形状。这是我期望的行为,也是我想要的。

{ catalog: undefined }

// "catalog.brand is a required field"

但在我的例子中,我没有收到 undefined object ,而是 null。而且我不知道如何使用空值来管理相同的结果。

{ catalog: null }

// No error on catalog.brand

手动将 null 转换为 undefined 是不可能的,因为我收到 null 是有充分理由的。

这是一个重现我的用例的codesandbox:

https://codesandbox.io/s/yup-playground-tbfcj

我真的很感激在这方面的一些帮助,谢谢 :)

最佳答案

解决方案是在形状中包含 nullable()required()

例子

const requiredOption = Yup.object()
.shape({
value: Yup.string(),
label: Yup.string(),
})
.nullable()
.required('This field is required.');

关于javascript - 是的如何验证空对象上的必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60674874/

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