когда нечего делать, а творческая душа требует реализации и хочется что-то сделать или написать, то я пишу сюда или делаю что-то на этом сайте. Кому интересна web-разработка, wordpress и то что рядом с этим, то заходите на мой сайт и читайте всякое...
Это введение в валидицию с помощью Formik и Yup на примере простой страницы регистрации. Тут валидация подтверждения пароля, валидация email и прочих обязательных полей.
Валидация подтверждения пароля
В Yup идея проста. Существует метод yup.ref, который получает данные из какой-то ячейки формы (если она конечно есть). Нам нужно сравнить раны ли данные нашего поля данным в ref. Для этого мы используем метод yup.string().oneOf, который принимает массив допустимых значений (кстати так можно валидировать селекты) и сообщения, которое выведется если поля не валидное. Получается так:
password: yup.string()
.typeError('Должно быть строкой') // Не обязательная строка
.test('', '', () => { /* Дополнительная функция для проверки пароля */ })
.matches(REG_EXP, 'Не соответствует правилу') // Проверка на соответствие регулярному выражению.
.required('Обязательно'),
confirmPassword: yup.string()
.oneOf([yup.ref('password')], 'Пароли не совпадают')
.required('Обязательно')
Валидация email
Всё просто:
email: yup.string()
.matches(REG_EXP, 'Не соответствует правилу') // Проверка на соответствие регулярному выражению.
.email('Введите верный email').required('Обязательно'),
Я давно хочу развить видеоверсию, но пока этого не получается из-за нехватки ресурсов. Сейчас я собираю деньги на новый компьютер и микрофон. Поддержи xaklant и ты увидишь полезные видео быстрее.