问题标签 [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 投票
0 回答
908 浏览

javascript - JS/Yup 使用多个规则进行验证

有一个具有验证正则表达式的数字字段 = 用户可以输入 0 到 364 之间的数字。

如果您输入的数字不在该范围内,您会收到特定的错误消息。

现在我需要添加相同的字段验证规则,如果数字有两位数并且第一个是 0。

然后显示特定于该规则的错误消息。

这是两个规则合二为一的正则表达式: /^(?:36[0-4]|3[0-5]\d|[12]\d{2}|[0-9]\d?)$ | ^0[0-9].*$/

如果天数不在设置 message1 的范围内,如何使此验证成为有条件的。

如果格式错误,设置 message2 ?

0 投票
1 回答
12659 浏览

javascript - yup.js 条件时检查数组

我有一个对象,其标志为布尔值,另一个项目为对象数组。

我只想在标志为真时检查对象数组。

所以:

这应该通过

这应该打破

这应该打破

这应该打破

这应该打破

这应该通过

是的架构:

现在这里的问题是它忽略了内部值并且不检查它们。

0 投票
1 回答
3656 浏览

reactjs - 是的,使用 FieldsArray、ReactJS、redux-from 进行验证

我使用 yup 验证并尝试构建条件验证对象

通常,我使用 redux 表单中的 Field 来处理表单输入值并使用 yup 对其进行验证,但在另一种情况下,我使用 FieldArray 来实现复杂的条件,这是我使用 FieldArray 的代码:

这是我在 FieldsArray 中绑定的组件,

我想检查验证字段名称的值 = { $ {member} .startTime} 如何使用 yup 请给我一个解决方案,将 yup 与 FieldsArray 或其他任何东西一起使用。在这种不可能的情况下,教我另辟蹊径,欢迎提问,谢谢

0 投票
4 回答
17444 浏览

reactjs - 使用 YUP 验证文件大小和格式

我有一个使用 reactjs + formik + yup 的表单。我有一个多文件上传字段。我想使用 yup 验证文件格式和最大大小。我怎样才能做到这一点?

0 投票
3 回答
11609 浏览

javascript - 如何测试 Yup.array 中值的唯一性?

我有动态输入量(管理员电子邮件)的表单,但是检查唯一性失败:

这里最好的方法是什么?仅供参考,作为我使用的表单助手Formik

0 投票
2 回答
5062 浏览

reactjs - react native提交Formik表单后如何显示错误提示

我有一个原生Formik表单react和一个YupvalidationSchema。当用户提交表单时,如果存在无效的字段,我想使用错误字段创建警报。

我尝试isValidFormik渲染中使用并创建一个带有错误的警报,但我得到一个空的错误对象。但是,如果我再次提交/或单击两次提交,则错误对象包含预期的无效字段。

如何在首次提交时获取错误对象?

0 投票
3 回答
7503 浏览

reactjs - 如何使用 Jest 为 Yup.isValid 函数编写测试用例?

我正在尝试添加一个单元测试来验证该Yup.isValid功能,但运行测试用例后显示错误为:Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL。即使我正在更改茉莉花的最小超时时间,也会显示相同的错误。我验证 Yup 模式的功能是:

我的测试用例是:

上面的测试用例不会到我可以放置我的条件的地方。正如我提到的,同样的错误即将到来。我该如何解决这个问题?

0 投票
0 回答
53 浏览

javascript - 获取正则表达式的反义词

我想通过阻止用户使用 www 或 http 输入域名来验证表单字段,因此我编写了如下正则表达式。

我想要的是与书面正则表达式相反的东西。这样我就可以得到预期的结果。

预期结果:

如何得到正则表达式的反义词

0 投票
2 回答
5972 浏览

reactjs - How to correctly validate an masked-input using material-ui, formik, yup, and react-input-mask?

I'm trying to validate my input using formik/yup/material-ui/ and react-input-mask. From validationSchema only one option works correctly: .required. When i'm trying to validate by min/max length on the input it doesn't work properly.

When I set a mask for the input equals to: {"99 9999"} it looks like yup recognizes it like 7 characters(6 digits and one for space) and it doesn't change when I am typing in input field.

For example when I set: .min(7, "Password must contain at least 7 characters")

in validationSchema I will always get no errors even if I don't type anything in text field.

And when i set min(8, "Password must contain at least 8 characters") I will always get error feedback, even if I type something. Looks like the lenght of the input is always equals to length of the mask.

There is my input field:

And there you can see my whole code:

https://codesandbox.io/s/zrrxol5614

What am doing wrong?

0 投票
2 回答
57433 浏览

javascript - 是的,使用匹配问题使用正则表达式进行验证

所以我使用Yup进行了以下验证:

所以有了这个,这将通过 :hello world正如预期的那样。但让我感到困惑的是为什么这也会通过:hello WORLD或者这也会通过:hello ,&$#$ world

另一方面,如果我们只输入这样*%$&#$($#的无效字符,则不会通过并显示错误。所以我可以看到,如果所有条目都无效,这只会给我错误。

我正在寻找的是如果用户输入例如如何使用 Yup 匹配方法不通过:hello ,*&) world

谁能帮我这个?