如何使用 react-hook-form 检查 react-datepicker 值?

How can I check react-datepicker value with react-hook-form?

我有一个注册表单并使用 react-hook-form 进行验证。如果未满 15 岁,我想给出错误信息。这可能吗?

这里是选择器代码

<DatePicker ref={ref} name="birthday" dateFormat="dd/MM/yyyy" disabled={disabled}
      selected={startDate || value}
      onChange={date => onChangePicker(date)}
      maxDate={addDays(new Date()), 1)}
      onFocus={() => { focusInput() }}
      onBlur={(e) => { blurInput(e) }}
      autoComplete="off"
      customInput={
        <MaskedInput
          mask={[/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/]}
        />
      }
    />

这里的表格

{errors.birthday && <span className="input__error-message birthday-error">Birthday is required</span>}
<Controller
    name="birthday"
    control={control}
    defaultValue={false}
    render={({ onChange, value }) => <Calendar label="Birthday" onChange={onChange} value={value} />}
    rules={{ required: true }}
    register={register}
/>

是的,这是可能的。您只需要使用 rules 属性对象提供的 validate 函数即可。

const isOlderThan15Years = date => {...}

rules={{ required: true, validate: date => isOlderThan15Years(date) }}

查看文档中的 register 部分以获取更多信息。