问题标签 [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.
javascript - JS/Yup 使用多个规则进行验证
有一个具有验证正则表达式的数字字段 = 用户可以输入 0 到 364 之间的数字。
如果您输入的数字不在该范围内,您会收到特定的错误消息。
现在我需要添加相同的字段验证规则,如果数字有两位数并且第一个是 0。
然后显示特定于该规则的错误消息。
这是两个规则合二为一的正则表达式: /^(?:36[0-4]|3[0-5]\d|[12]\d{2}|[0-9]\d?)$ | ^0[0-9].*$/
如果天数不在设置 message1 的范围内,如何使此验证成为有条件的。
如果格式错误,设置 message2 ?
javascript - yup.js 条件时检查数组
我有一个对象,其标志为布尔值,另一个项目为对象数组。
我只想在标志为真时检查对象数组。
所以:
这应该通过
这应该打破
这应该打破
这应该打破
这应该打破
这应该通过
是的架构:
现在这里的问题是它忽略了内部值并且不检查它们。
reactjs - 是的,使用 FieldsArray、ReactJS、redux-from 进行验证
我使用 yup 验证并尝试构建条件验证对象
通常,我使用 redux 表单中的 Field 来处理表单输入值并使用 yup 对其进行验证,但在另一种情况下,我使用 FieldArray 来实现复杂的条件,这是我使用 FieldArray 的代码:
这是我在 FieldsArray 中绑定的组件,
我想检查验证字段名称的值 = { $ {member} .startTime
} 如何使用 yup 请给我一个解决方案,将 yup 与 FieldsArray 或其他任何东西一起使用。在这种不可能的情况下,教我另辟蹊径,欢迎提问,谢谢
reactjs - 使用 YUP 验证文件大小和格式
我有一个使用 reactjs + formik + yup 的表单。我有一个多文件上传字段。我想使用 yup 验证文件格式和最大大小。我怎样才能做到这一点?
javascript - 如何测试 Yup.array 中值的唯一性?
我有动态输入量(管理员电子邮件)的表单,但是检查唯一性失败:
这里最好的方法是什么?仅供参考,作为我使用的表单助手Formik
。
reactjs - react native提交Formik表单后如何显示错误提示
我有一个原生Formik
表单react
和一个Yup
validationSchema。当用户提交表单时,如果存在无效的字段,我想使用错误字段创建警报。
我尝试isValid
在Formik
渲染中使用并创建一个带有错误的警报,但我得到一个空的错误对象。但是,如果我再次提交/或单击两次提交,则错误对象包含预期的无效字段。
如何在首次提交时获取错误对象?
reactjs - 如何使用 Jest 为 Yup.isValid 函数编写测试用例?
我正在尝试添加一个单元测试来验证该Yup.isValid
功能,但运行测试用例后显示错误为:Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL
。即使我正在更改茉莉花的最小超时时间,也会显示相同的错误。我验证 Yup 模式的功能是:
我的测试用例是:
上面的测试用例不会到我可以放置我的条件的地方。正如我提到的,同样的错误即将到来。我该如何解决这个问题?
javascript - 获取正则表达式的反义词
我想通过阻止用户使用 www 或 http 输入域名来验证表单字段,因此我编写了如下正则表达式。
我想要的是与书面正则表达式相反的东西。这样我就可以得到预期的结果。
预期结果:
- www.google.com - 无效
- http://apple.co.uk - 无效
- http://www.water.com - 无效
- google.com - 应该是有效的
- apple.co.uk - 应该是有效的
如何得到正则表达式的反义词
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?
javascript - 是的,使用匹配问题使用正则表达式进行验证
所以我使用Yup进行了以下验证:
所以有了这个,这将通过 :hello world
正如预期的那样。但让我感到困惑的是为什么这也会通过:hello WORLD
或者这也会通过:hello ,&$#$ world
另一方面,如果我们只输入这样*%$&#$($#
的无效字符,则不会通过并显示错误。所以我可以看到,如果所有条目都无效,这只会给我错误。
我正在寻找的是如果用户输入例如如何使用 Yup 匹配方法不通过:hello ,*&) world
谁能帮我这个?