问题标签 [yup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3215 浏览

reactjs - ReactJS:验证不适用于使用 Formik 多步表单的 Yup

我有一个多步骤表格,其中我使用了 aFormikYup库。

但是我使用的 yup 库的验证根本不起作用。在 React 调试器工具中,我将它的值设为空。因此,无论我在输入字段中写什么,它都会使用“必需”消息进行验证,因为它的值是空的。

请查看反应控制台响应的值是否为空。

在此处输入图像描述

0 投票
0 回答
96 浏览

reactjs - 如何使用 yup 和 formik 有条件地验证

我想使用 yup 验证两个字段,条件是需要任何人,我的意思是有用户名和电子邮件字段,但用户必须输入任何人,如何使用 yup 验证它

0 投票
1 回答
2927 浏览

reactjs - 使用 Formik/Yup 的可选文件验证

如果选择了文件,我想验证文件输入,我找到了 Formik/Yup 的解决方案,但即使未选择文件,它也会验证。

当我输入其他输入时它会触发验证,我只想在文件存在时触发它,因为头像是可选的!

0 投票
1 回答
19598 浏览

javascript - 是的:将字段本身与另一个字段进行比较

我有

但我需要这样的东西

但上面的代码不能正常工作。是否有可能以其他方式执行此验证?

0 投票
1 回答
811 浏览

validation - 如何使用 formik 和 yup 在 react-native 中进行验证?

如何使用 formik 和 yup 在此处显示错误消息?假设我想显示客户名称的错误消息。这个怎么做?

我也声明了 initialValues。请帮我。

这是我的错误信息。

这实际上是我的 API 注册部分。

我在这里添加了 formik 。我想在 setfieldtouch、onblur 和表单提交期间显示错误消息

0 投票
2 回答
2823 浏览

javascript - 通过validationSchema,是的,是否可以执行更多验证?

目前,我正在结合使用 Yup 进行一些验证,例如最小长度、最大长度、必需等。我想知道在通过 Yup 验证后是否可以执行更多需要来自服务器端的请求和响应的验证?

例如,我需要先输入一个有效的电话号码格式,验证通过后,然后我想请求我的后端检查这个电话号码是否存在。如果它已经存在,那么只需设置errors.phone:“电话号码已注册。” 并在 ui 中使用{touched.phone && errors.phone && <p>{errors.phone}</p>}. 请帮我照亮一些光。我找不到任何解决方案。

0 投票
1 回答
1539 浏览

reactjs - Formik 表单没有在测试环境中使用 Yup 验证并开玩笑

我正在尝试测试当必填字段为空时是否引发验证。在我的示例中,我有一个电子邮件输入,我将其设置为空,并且当我模拟提交操作时,onSubmit 函数会在实际上不应该执行的情况下执行。我正在使用validationSchema 属性来验证我的表单。我已经console.log()在我的提交函数中添加了它,它以调试模式显示(它不应该)。

这在开发环境中工作(提出验证,未执行 onSubmit 函数)但由于某种原因,它在测试环境中不起作用。

值得一提的是,我正在完全安装组件以使用 Enzyme 对其进行测试。

提前致谢。

我尝试.update检查在模拟操作后是否至少更新了视图,但它仍然调用提交函数。

这是我的代码:

表单.js

测试.js

0 投票
0 回答
1252 浏览

javascript - 在没有验证错误的情况下自动清理 Formik 中的值

Formik 建议使用 Yup 来验证数据,因此基本表单如下所示:

我需要的是一种在不显示验证错误的情况下清理数据的方法。

例如,数字字段可以是 1 到 10 之间的数字。如果用户输入 20 - 它应该自动更改为 10(不显示验证错误)。

有没有办法自定义 Yup 或 Formik 以便自动更新表单值?

0 投票
1 回答
580 浏览

reactjs - 使用 react-localize-redux-translations 作为 yup-required-string

我正在创建一个 React 应用程序,我想使用 react-localize-redux 进行翻译,并使用 yup 进行验证。我的问题是理解如何组合它们。

我知道我可以将字符串传递给yup-require或函数,因为这是签名:

当我只传递一个字符串时,这非常有效,但是我不明白如何在导入后传递我的 react-localize-redux 的翻译

模块,我习惯使用 JSX 组件,例如

然后返回我翻译的字符串。我完全不知道。。

我的代码:

0 投票
1 回答
875 浏览

reactjs - 使用 Formik 未成功触发 handleSubmit 函数

我正在使用 Formik + Yup 来构建一个表单,但似乎无法通过一个基本问题,我觉得我错过了一些明显的东西。我的 handleSubmit 函数不会在按钮单击时触发——即使是简单的控制台日志。如果我向 onClick 按钮处理程序添加一个纯函数,它会触发,但 Formik 似乎没有传递我用 withFormik HOC 构造的 handleSubmit。

我已经尝试将处理程序添加到 Form 组件,在那里也不起作用。

为简洁起见,我删除了除 firstName 属性之外的所有属性