Ответ
Yup — это библиотека для валидации данных в JavaScript, часто используемая с формами в React. Она позволяет описывать схемы валидации в декларативном стиле.
Пример:
import * as yup from 'yup';
const schema = yup.object().shape({
email: yup.string().email('Invalid email').required('Required'),
password: yup.string().min(8, 'Too short').required(),
});
// Проверка
schema.validate({ email: 'test@test.com', password: '12345678' })
.then(valid => console.log(valid))
.catch(err => console.log(err.errors));
Ключевые особенности:
- Цепочки валидаторов (
.string()
,.number()
,.required()
и т.д.) - Кастомные сообщения об ошибках
- Асинхронная валидация
- Интеграция с Formik
- Возможность создания сложных зависимых валидаций
Yup часто используют вместе с Formik для валидации форм в React-приложениях.