React:输入验证

Vla*_*nko 5 javascript validation newforms reactjs reactjs-flux

我最近开始使用React,我遇到了输入验证的问题.例如,它只是通过指令在另一个框架中实现为Angular.js.

经过一番研究,我发现了

  1. newforms库,看起来像当前时刻盒子里的最佳解决方案.但它非常沉重,不确定它目前是否受支持(7个月前的最后更新).
  2. 另一种方法是将事件从父表单发送到其子输入,并在每个表单上调用验证方法.

但我找不到每个人都试图创造自己的最佳实践,因此你需要自己写一些东西.

什么是表单验证的最佳解决方案?React架构/框架(Flux/Redux)是否提供任何解决方案?

谢谢,

cam*_*row 3

我最近在 React 中使用过一些表单,并且有非常相似的经历。我认为这可以归结为 React 非常新,而表单验证一般来说是一个很难解决的问题。这导致了表单验证的狂野西部,没有设定的标准,并且许多新库试图解决问题(每个库都以自己的方式进行并做出大量假设)。

我最终使用了formsy-react(https://github.com/christianalfoni/formsy-react),它相当简单,但做了一个很大的假设 - 我们想要验证输入onChange。我希望我的输入呈现一个错误onBlur,这导致我编写一些辅助函数来创建该行为。

我还没有深入研究 Redux,但该领域似乎有一些不错的选择(https://www.npmjs.com/package/redux-form),可能适合您的需求。

如果您想查看我的 Formsy 表单验证器/帮助器方法的示例,请告诉我。

希望这会有所帮助,或者至少提供一些团结,到目前为止,React 世界中的表单验证尚不明确且缺乏标准。