Да проверка для необязательного поля

У меня есть форма создания профиля в моем проекте, для которой я использую response-hooks-form и библиотеку yup для проверки.

В форме есть одно поле с именем Github-Username, которое не является обязательным. Но я хочу проверить это, если пользователи вводят имя пользователя, и оно должно быть более двух символов, что-то в этом роде.

  const schema = yup.object().shape({
    company: yup.string().min(3).required(),
    website: yup.string(),
    location: yup.string().min(2).required(),
    skills: yup.string().min(3).required(),
    githubUsername: yup.string().min(3).nullable().notRequired(),
    bio: yup.string(),
  });

  const { register, handleSubmit, errors, touched } = useForm({
    resolver: yupResolver(schema),
  });

// Поле формы

        <Form.Group controlId="formBasicGusername">
          <Form.Label>Github Username</Form.Label>
          <Form.Control
            type="text"
            name="githubUsername"
            ref={register}
          />
          <span className="text-danger text-capitalize">
            {errors.githubUsername?.message}
          </span>
        </Form.Group>

Это схема, которую я написал до сих пор, но она не работает для githubUsername. Он показывает ошибку, если он пуст. Я хочу проверить, только если он не пустой. Есть какие-нибудь зацепки по этому поводу?

введите описание изображения здесь


person lazyCoder    schedule 25.03.2021    source источник


Ответы (1)


person    schedule
comment
Если я использую этот синтаксис, я получаю сообщение об ошибке: Циклическая зависимость. Странно ???? (да, v0.32.9) - person pom421; 21.06.2021