reactjs - 使用 react-hook-form 进行表单模式验证

标签 reactjs forms react-hooks react-props react-forms

我一直在研究一种 react 形式,我需要限制用户输入特殊字符并只允许这些字符:[A-Za-z]。
我已经尝试了以下代码,但我仍然能够插入特殊字符,例如:'♥'、'>'、'+' 等。

export default Component (props {
  ...
  return (
   <input 
    pattern={props.pattern}
   /> 
  )
}
我将它作为 Prop 发送到我的表单中:
<Component 
pattern="[A-Za-z]+"
/>
你能告诉我我遗漏了什么并指出可能是什么问题吗?非常感谢。

最佳答案

pattern input 上的属性仅适用于 submit在普通的 HTML 表单中。
如果您使用的是 react-hook-form ,它应该在 ref 中,像这样:

<input
    name="email"
    ref={register({
      required: "Required",
      pattern: {
        value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i,
        message: "invalid email address"
      }
    })}
  />
请查看 react-hook-form 文档。此外,对于简单的表单用例,您可以尝试 cksform图书馆。

关于reactjs - 使用 react-hook-form 进行表单模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63000638/

相关文章:

reactjs - 如何使用 jest 模拟类和命名空间枚举?

css - 改变内部元素样式的 material-ui 图标

javascript - React Redux 表单 2 使用 onSubmit 和重定向提交

reactjs - 如何更新状态数组中的对象属性

reactjs - 无法使用 React hook 将 TextField 的状态设置为未定义

javascript - 在 props 更新时重新渲染组件

ruby-on-rails - 如何在 ruby​​ on rails 中创建向导表单

html - 我可以制作一个表单以转到用户指定的 URL 吗?

javascript - 当我使用 input type=button 时,它的值不会发送到服务器

reactjs - Axios 发布请求在提交时抛出 431 错误