React-Hook-Form. Разная валидация на различные события

Я только начал использовать React Hook Form и не могу понять, как реализовать разную валидацию для различных событий.

Итак, у меня есть инпут

 <input
    type="text"
    {...register("name", {
      required: 'is required',
      maxLength: {
        value: 40,
        message: 'max length is 40',
      },
      pattern: {
        value: /^[a-zA-Z]+(?:-[a-zA-Z]+)*$/,
        message: 'неверный формат',
      }         
    })}
  />

Я хочу, чтобы правило "required" срабатывало только при событии "onSubmit" и не срабатывало при других событиях. А все остальные правила, не важно какие я укажу, должны срабатывать при событии "onBlur".

Я установил режим onBlur в опциях useFome для этого.

const {
  register,
  handleSubmit,
  formState: { errors },
  watch,
} = useForm<IFields>({
  mode: 'onBlur',
});

Но в этом случае, если я фокусируюсь на инпуте, а затем убираю фокус, правило required все равно срабатывает.

Я попробовал следующие опции.

 formState: { isSubmitting } 


 required: isSubmitting ? 'is required' : false,

Но опции isSubmitted и isSubmitting срабатывают только после валидации.


Ответы (0 шт):