首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Yup.when:“the”(从值‘the’中铸造)

Yup.when:“the”(从值‘the’中铸造)
EN

Stack Overflow用户
提问于 2019-11-08 16:41:40
回答 5查看 25.4K关注 0票数 28

我试图为表单字段/select实现一个非常基本的验证。验证模式:

代码语言:javascript
复制
vehicleProvider: Yup.object() // This is an object which is null by default
    .required('formvalidation.required.message')
    .nullable(), 
reserveVehicle: Yup.number().when('vehicleProvider', { // This is a number which is null by default
    is: provider => provider?.hasReserve,
    then: Yup.number()
        .required('formvalidation.required.message')
        .nullable(),
    otherwise: Yup.number().notRequired()
}),

我想做的是:只有当reserveVehicletrue时才需要/验证true。否则,不需要电话号码。我知道这个错误:

"reserveVehicle必须是number类型,但最终值是:NaN (从值NaN中强制转换)。

这是有意义的,因为null不是一个数字。但当我试图告诉它,它不应该是必需的,在我看来,它不应该试图评估它。

我错过了Yup的关键概念吗?

EN

Stack Overflow用户

发布于 2022-10-12 18:27:19

使用这段代码.transform((值) => (isNaN(值)?0: value))

代码语言:javascript
复制
age: yup
.number()
.transform((value) => (isNaN(value) || value === null || value === undefined) ? 0 : value)
.required()
.label("Age"),
票数 3
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58770630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档