根据状态变量进行条件 Yup 验证
Posted
技术标签:
【中文标题】根据状态变量进行条件 Yup 验证【英文标题】:Conditional Yup validation according to state variable 【发布时间】:2021-12-27 05:41:25 【问题描述】:仅当给定变量的状态为真时,是否可以使用 Yup 解析器 RHF 有条件地验证文本字段。
我研究了很多,但找不到一个例子。
谢谢
【问题讨论】:
请提供更多细节。什么样的条件 @Asifvora 我有一个由布尔值组成的状态变量,只有当状态为真时才应该进行验证 两个字段不一样?示例:如果复选框为真,则在 InputBox 上应用验证。 【参考方案1】:使用Yup.when
进行归档条件库验证。
查看更多详情yup
示例:
你可以使用 Yup 条件
const validationSchema = Yup.object().shape(
isCompany: Yup.boolean(),
companyName: Yup.string().when('isCompany',
is: true,
then: Yup.string().required('Field is required')
),
companyAddress: Yup.string().when('isCompany',
is: (isCompany) => true,//just an e.g. you can return a function
then: Yup.string().required('Field is required'),
otherwise: Yup.string()
),
);
并确保相应地更新您的表单。我希望你明白这一点。
【讨论】:
以上是关于根据状态变量进行条件 Yup 验证的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试使用 Yup 进行条件表单验证,但无法更改值“showfile”的值
根据 React 功能组件中的状态变量有条件地设置 className