Назад к вопросам
Middle+
1
Расскажите про работу с Formik и Yup: насколько сложные формы писали, как строили схемы валидации?
Компании, где спрашивали
Сбертех
Ответ от нейросети
sobes.tech AI
Formik — это библиотека для управления состоянием форм в React, а Yup — для валидации данных. Я работал с формами разной сложности: от простых с несколькими полями до многошаговых и динамических.
Для построения схем валидации с Yup я использовал цепочки методов, например:
import * as Yup from 'yup';
const validationSchema = Yup.object().shape({
email: Yup.string().email('Неверный формат email').required('Обязательное поле'),
password: Yup.string().min(8, 'Минимум 8 символов').required('Обязательное поле'),
age: Yup.number().min(18, 'Возраст должен быть не менее 18').nullable(),
});
Formik интегрируется с Yup через проп validationSchema, что позволяет автоматически валидировать форму при изменениях. Для сложных форм я разбивал схему на части и комбинировал их, а также использовал условную валидацию в зависимости от состояния формы.