jjzjj

javascript - 使用 yup 和 formik 进行密码验证

如何进行密码验证,同时将错误传递给不同的变量?即password:Yup.string().required("Pleaseprovideavalidpassword"),passwordMin:Yup.string().oneOf([Yup.ref('password'),null]).min(8,'Error'),passwordLC:Yup.string().oneOf([Yup.ref('password'),null]).matches(/[a-z]/,"Error")passwordUC:Yup.string().oneOf([Yup.ref('password'),nul

javascript - Formik 和 yup 表单验证无法按预期使用 Virtualized Select

为了进行表单验证,我使用formik创建了一个表单。我已经使用了组件Formik、Form、Fieldformformik并配置了它们:import{Formik,Form,Field}from"formik";import{object,string}from"yup";importisEmptyfrom"lodash/isEmpty";importFormikSelectInputfrom"../common/FormikSelectInput";classAppextendsComponent{render(){constoptions=this.props.categories

javascript - 使用 jest/enzyme 对 formik 组件进行单元测试

我整理了一个非常基本的联系表格,效果很好。但是,我现在需要开始编写我的单元测试,但我遇到了一大堆问题(就像我到目前为止只设法通过了一个快照测试)。因此,首先我尝试测试,如果您没有填写所有必填部分,当您单击提交按钮时,该表单是否应该呈现我的验证消息。我认为我可以通过调用handleSubmit()函数来实现这一点,例如:componentRender.find('Formik').instance().props.handleSubmit(badFormValues,{resetForm});但是,当我运行componentRender.debug()时,我的验证消息没有被呈现。好像没有

javascript - 嵌套在第三方组件中时 Field 的 Formik 包为空

我正在使用Formik的Field组件来呈现这样的输入:(()}/>)}/>这是一个CodeSandbox这说明了这个问题。您会看到,如果将产品列定义与仅将产品呈现为字符串而不是使用Formik输入的定义交换,它工作正常。在上面的代码中,Formik似乎“自动”确定了Formik包formField中的对象的render功能。在我集成我的Field之前,这一直没有问题进入第三方库,在我的例子中,将其呈现在agGrid表的单元格中。当我这样做时,我得到TypeError:this.props.formik.registerFieldisnotafunction浏览器控制台错误。调试此错误

javascript - 在 Formik 中添加 react-bootstrap 警报以处理提交

我正在尝试向我的Formik表单添加一个react-bootstrap警报,以便handleSubmit向用户发出表单已提交的警报。我使用了react-bootstrap记录的Alert形式,但是我不得不更改最后一行,因为这似乎不起作用(错误说如果我使用react-bootstrap记录的形式,我没有导出任何东西警报。我的警报是:importReactfrom'react';import{Alert,Button,}from"react-bootstrap";classAlertDismissibleextendsReact.Component{constructor(props){s

javascript - Formik 中的 getFieldValue 或类似的

有没有办法在formik的点击处理程序中获取字段的值?你可以在那里使用setFieldValue,所以我假设(但找不到任何地方)Formik应该有类似的东西来检索值:getFieldValue('name')==='Test'?action1:action2}在Formik中执行此操作的正确方法是什么? 最佳答案 Formik通过props将其values对象传递到您的表单中。假设您有一个输入,以名称firstName连接到Formik。您可以通过this.props.values.firstName访问输入的值:console.l

javascript - 使用 Yup 验证以检查字符串或数字长度

是否有验证特定长度的yup函数?我尝试了.min(5)和.max(5),但我想要确保数字恰好为5个字符(即邮政编码)的东西。 最佳答案 此检查可带来最佳验证体验:Yup.string().required().matches(/^[0-9]+$/,"Mustbeonlydigits").min(5,'Mustbeexactly5digits').max(5,'Mustbeexactly5digits')输出:12f1//Mustbeonlydigits123//Mustbeexactly5digits123456//Mustbeex

javascript - 值(value)观问题 Formik

GitHubdiscussionaboutthisissue-https://github.com/jaredpalmer/formik/issues/529我将formik值传递给在中调用的函数的onChange但是当我输入,最后一个字符不属于函数。代码沙箱-link截图:最小代码实例:importReactfrom"react";importReactDOMfrom"react-dom";import{Formik,Form,Field,FieldArray}from"formik";functionApp(){//------HERE----------constgetValue

javascript - 值(value)观问题 Formik

GitHubdiscussionaboutthisissue-https://github.com/jaredpalmer/formik/issues/529我将formik值传递给在中调用的函数的onChange但是当我输入,最后一个字符不属于函数。代码沙箱-link截图:最小代码实例:importReactfrom"react";importReactDOMfrom"react-dom";import{Formik,Form,Field,FieldArray}from"formik";functionApp(){//------HERE----------constgetValue