У меня есть форма создания профиля в моем проекте, для которой я использую 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. Он показывает ошибку, если он пуст. Я хочу проверить, только если он не пустой. Есть какие-нибудь зацепки по этому поводу?