контроллер формы реакции-крючка с проверкой на основе значения - PullRequest
1 голос
/ 13 июля 2020

Я использую библиотеку response-hook-form и имею контроллер для выбора даты

Согласно документации , правила должны работать точно так же, как проверка, установленная внутри регистра.

Он работает с { required: true }, но при необходимости учитывать значение в поле я не могу вызвать ошибку.

Для моей цели у меня есть функция для преобразования даты из response-datepicker в YYYY-MM-DD, называемую formatDate (т.е. formatDate принимает значение из средства выбора даты и возвращает строку "YYYY-MM-DD")

Только для целей тестирования , Я пытаюсь вызвать ошибку, если значение не соответствует определенной строке в форме ГГГГ-ММ-ДД, например

 <Controller
   as={<DatePicker />}       
   name="initialDate"
   control={control}      
   maxDate={dateRef.current}
   rules={{ validate: (value) => !value || formatDate(value) === '2020-07-12' }}
 />

Ошибка никогда не запускается

Изменить: После при некоторых тестах ошибка возникает при отправке формы, однако я установил активацию проверки при размытии, и это часть, которая не работает. Также обратите внимание, что когда я попробовал ошибку для {required: true}, она срабатывала при размытии без проблем

  const { handleSubmit, control, watch, setValue, errors, register } = useForm({ mode: 'onBlur'});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...