Как реагирует валидация-многоступенчатая форма с помощью yup.test только один раз?

#javascript #reactjs #react-hook-form #yup

Вопрос:

Моя форма реакции-крючка с 3 шагами

 return (
<section className="flex max-w-x">
  <form onSubmit={handleSubmit(onSubmit)} className="mx-auto my-0 w-2/5">
    <FirstStep
      show={formStep === 1}
      register={register}
      errors={errors}
      onNextClick={async () => {
        setFormStep((await trigger(['email', 'password', 'passwordConfirm'])) ? 2 : 1);
      }}
    />
    <SecondStep
      show={formStep === 2}
      register={register}
      errors={errors}
      onNextClick={async () => {
        setFormStep((await trigger(['firstname', 'lastname', 'middlename', 'typeClient', 'phone'])) ? 3 : 2);
      }}
      onBackClick={() => setFormStep(1)}
    />
    <ThirdStep
      show={formStep === 3}
      register={register}
      errors={errors}
      onBackClick={() => setFormStep(2)}
      isSubmitting={isSubmitting}
    />
  </form>
 </section>
);
 

и есть валидаторы yup для ввода данных по телефону и электронной почте

  email: email.test(
    'isUnique',
    translate('signupFormScheme.email_is_busy'),
    async (value) => !value || await AuthService.checkEmail(value) === true,
  ),
 phone: phone.test(
    'isUnique',
    translate('signupFormScheme.phone_is_busy'),
    async (value) => !value || await AuthService.checkPhone(value) === true,
  ).required(translate('signupFormScheme.phone_must_be_filled')),
 

Когда я нажимаю кнопку на первом шаге, да, начинаю проверку работы для ввода электронной почты, после этого я нажимаю кнопку на втором шаге и снова запускаю рабочие валидаторы для ввода электронной почты и телефона. А затем я снова нажимаю кнопку регистрации на последнем шаге и снова начинаю проверку работы для ввода электронной почты и телефона.

Почему да, это так? потому что я использую триггер(react-hook-форма) Спасибо за ответ