javascript - 修改表单元素所需的内容

标签 javascript html reactjs

我想在提交表单之前设置更多条件,使用表单字段的 html 'required' 属性。有没有办法可以手动拦截/更改它检查的条件?就我而言,我希望要求一个字段是数组中的值。

最佳答案

这是一个有点漫长的过程,但非常有用。 您可以在 form 中的任何 input 标记上添加 onchange 事件,

<input type="text" className="form-control" onChange={(event) => this.handleUserInput(event)} name="fname"/>


handleUserInput(e) {
    const name = e.target.name;
    const value = e.target.value;
    this.setState({[name]: value}, 
            () => { this.validateField(name, value) });
} 



validateField(fieldName, value) {
    let fnameValid = this.state.fnameValid;
    switch(fieldName) {
      case 'fname':
         fnameValid = value!=="" && /^([a-zA-Z]+)$/.test(value) && value.length >= 2; //here you can check as many condition as you want using `&&` operator.
        break;
      case 'more input name here':
       ... // More input validation
        break;
      default:
        break;
    }
  }

Ref

关于javascript - 修改表单元素所需的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56039632/

相关文章:

javascript - 约束错误 : Key already exists in the object store

javascript - 为什么这段代码的 else 部分没有运行?

javascript - jQuery - 通过发送 POST 参数来更改页面

html - 使用 CSS 固定表头

javascript - 如何将 this.state 传递给 react-routes?

javascript - 将数据从对象发送到 React 组件

Javascript - setTimeout、clearTimeout、setInterval、clearInterval 的替代方法

javascript - node.js + 请求 => node.js + bluebird + 请求

javascript - Twitter 提要向页面添加空白

reactjs - react-chartist 中的 onDraw 事件