我使用formik和Yup来处理响应中的表单数据和表单验证。我试图将"Showfile"的值更改为true以进行条件验证,但值不会更改。
TextField label="Resume" star="*" color="red" name="file" type="file" accept=".pdf ,.docx,.doc " onChange={(event) => formik.setFieldValue( "file", event.currentTarget.files[0], "showfile", true ) } value={formik.value} />
file: Yup.mixed().when("showfile", { is: true, then: Yup.mixed() .required("Required") .test( "FILE_SIZE", "Uploaded file is too big.", (value) => value && value.size value && SUPPORTED_FORMATS.includes(value.type) ),
Formik initialValues={{ UserName: "", email: "", Phone: "", message: "", file: "", showfile: false, submit: false, }} validationSchema={validate} onSubmit={(values, actions) => { setTimeout(() => { console.log(values); actions.setSubmitting(false); }, 1000); }} >
您使用的setFieldValue
方法错误。它只更新一个字段。如果您想要设置2字段,则需要调用setFieldValue
2次:
onChange={(event) => {
formik.setFieldValue("file", event.currentTarget.files[0]);
formik.setFieldValue("showfile", true);
}}
您可以在这里阅读更多关于setFieldValue的信息:https://formik.org/docs/api/formik#setfieldvalue-field-string-value-any-shouldvalidate-boolean--void
如果您不得不跟浏览器提交的表单数据打交道,视图函数里的代码将会很快变得 难以阅读。有不少的代码库被开发用来简化这个过程的操作。其中一个就是 WTForms , 这也是我们今天主要讨论的。如果您发现您自己陷入处理很多表单的境地,那您也许 应该尝试一下他。 要使用 WTForms ,您需要先将您的表单定义为类。我建议您将应用分割为多个模块 (大型应用) ,这样的话您仅需为表单添加一个独立的模块。 挖掘
问题内容: 到目前为止,我已经使用纯JavaScript来验证表单,但是我需要在组合中添加mysqli查询。只有我对jquery和ajax不太了解。我可以做一个简单的登录表格,但这有点复杂。谁能给我有关如何添加jquery / ajax组件来验证这一点的任何指示: 问题答案: 您可以做的是发送$ .post像这样: 在你的 记得: 如果您要发布表单,请提交以添加到您的javascript函数中以手
问题内容: 这是我的代码: 我似乎从未得到HTTP_NOT_MODIFIED响应代码,甚至连连几次击中同一台服务器-页面绝对没有变化。另外,conn.getHeaderField(“ ETag”)似乎总是响应null,有时conn.getHeaderFieldDate(“ Last- Modified”,0)返回0。我已经在各种Web服务器上进行了尝试。 谁能告诉我我在做什么错? 问题答案: 你们
问题内容: 我正在使用Angular进行表单验证。 这是我用的-plunker- edit 我从Angularjs文档中获取了此代码- 绑定到窗体和控件状态使用了type,但是当我运行它并输入它时说它是有效的。我该如何解决 ? PS:我是AngularJs的初学者 编辑: 同样以下输入也显示有效 aaa @ aaa aaa---aaa@gmail.com aaa`aaa @ aaa 预期的有效电子
本文向大家介绍AngularJS使用angular-formly进行表单验证,包括了AngularJS使用angular-formly进行表单验证的使用技巧和注意事项,需要的朋友参考一下 当验证表单中有很多字段时,这时候可能希望把html的生成以及验证逻辑放到controller中,在页面,也许是这样的: 然后,在controller中定义各个字段以及验证。angular-formly就是为这个需