React form hooks 如何验证选择选项

viv*_*ngh 3 javascript reactjs react-hooks react-hook-form

我正在使用reach hooks并验证我正在使用的表单字段,react-hook-form因为它是目前的最佳选择

所以为了验证我ref={register({ required: true })}在提交时所做的正常输入字段,它正在检查错误,因为我正在从 react-hook-form 导入错误

但是当我对选择字段做同样的事情时,它没有检查错误对象

这就是我正在做的

<label htmlFor="func" className="form_label">
      Select function
    </label>
    <select name="func" ref={register({ required: true })}>
      <option selected disabled>
        Select function
      </option>
      <option value="5">Function 2</option>
      <option value="6">Function 3</option>
    </select>
    {errors.func && (
      <div>
        <span>Function is required</span>
      </div>
    )}
Run Code Online (Sandbox Code Playgroud)

我不知道我错过了什么

我的实际代码是动态数据

所以我像这样循环它

<Form.Control as="select" custom>
                    <option disabled selected>Select role</option>
                    {loading === false &&
                    data.get_roles.map((li) => (
                    <option value={li.user_type_id}> 
                    {li.user_type}</option>
        ))}
            </Form.Control>
Run Code Online (Sandbox Code Playgroud)

反应钩子形式

小智 5

试试这个代码。我试过了,效果很好:

<label htmlFor="func" className="form_label">
  Select function
</label>
<select name="func" 
  ref={register({
     required: "select one option"
  })}>
  <option value=""></option>
  <option value="5">Function 2</option>
  <option value="6">Function 3</option>
</select>
{errors.func && <p style={{color:'red'}}> {errors.func.message}</p> }
Run Code Online (Sandbox Code Playgroud)