Sobes.tech
Back to questions
Middle+
2

Расскажите про работу с Formik и Yup: насколько сложные формы писали, как строили схемы валидации?

Companies where asked
Сбертех

Answer from AI

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, что позволяет автоматически валидировать форму при изменениях. Для сложных форм я разбивал схему на части и комбинировал их, а также использовал условную валидацию в зависимости от состояния формы.