Javascript 如何在React应用程序中实现全局表单验证?

Javascript 如何在React应用程序中实现全局表单验证?,javascript,reactjs,forms,validation,Javascript,Reactjs,Forms,Validation,我有一个用vanilla JS编写的项目,它在应用程序的不同部分包含10个表单。所有表单/输入都通过validation.js进行验证,validation.js会检查表单/输入是否符合各种标准,如果有任何问题,则会阻止提交 现在,我想在我的新react应用程序中构建相同或类似的验证,该应用程序还将包含大约10个表单: 我从Login.js开始,它有一个包含多个输入的表单,并使用onSubmit和组件的本地状态直接在组件中进行验证。虽然它工作得很好,但我不想在其他组件中再编写9次验证 此外,编写

我有一个用vanilla JS编写的项目,它在应用程序的不同部分包含10个表单。所有表单/输入都通过validation.js进行验证,validation.js会检查表单/输入是否符合各种标准,如果有任何问题,则会阻止提交

现在,我想在我的新react应用程序中构建相同或类似的验证,该应用程序还将包含大约10个表单:

我从Login.js开始,它有一个包含多个输入的表单,并使用onSubmit和组件的本地状态直接在组件中进行验证。虽然它工作得很好,但我不想在其他组件中再编写9次验证

此外,编写一个Form.js并在任何地方重用它也不是一个选项,因为几乎所有的表单看起来都非常不同,并且服务于不同的目的,这是它们唯一的共同点:它们都需要在提交之前进行验证


有人对我的问题提出建议吗?或者是一个链接,其中讨论了类似的问题?

虽然HTML5验证似乎足以满足基本场景,但Formik(请参阅)在react中涵盖了更复杂的表单/验证场景。例如,验证是否取决于其他字段。值得一看

您可以对输入标记使用required属性,并在表单的onSubmit事件中调用form.checkValidity()方法。您需要任何自定义验证逻辑吗?请尝试Formik-不要重新发明轮子是的,有很多自定义验证选项:货币,应该可以使用不同的密码选项,输入上的最小/最大属性以及日期等@MetehanSenol:是否有办法创建类似自定义checkValidity()的内容?你可以看这篇文章,可能是