Библиотека iziToast предназначена для создания уведомлений в веб-приложениях с минимальными усилиями и красивым визуальным оформлением. При работе с валидацией введённых данных уведомления помогают пользователю быстро определить ошибки и успешные действия. Основная задача — отображение сообщений о статусе проверки данных в интерактивной и понятной форме.
iziToast.show({
title: 'Ошибка',
message: 'Поле "Email" заполнено некорректно',
color: 'red',
position: 'topRight',
timeout: 5000,
progressBar: true
});
В этом примере ключевые параметры:
topRight, bottomLeft, center, и
т.д.).При валидации форм важно создавать уведомления, которые:
Пример интеграции с проверкой формы:
document.getElementById('submitBtn').addEventListener('click', function() {
let email = document.getElementById('email').value;
let password = document.getElementById('password').value;
if (!email.includes('@')) {
iziToast.error({
title: 'Ошибка',
message: 'Введите корректный email',
position: 'topRight'
});
} else if (password.length < 6) {
iziToast.warning({
title: 'Внимание',
message: 'Пароль должен содержать не менее 6 символов',
position: 'topRight'
});
} else {
iziToast.success({
title: 'Успех',
message: 'Форма успешно отправлена',
position: 'topRight'
});
}
});
Особенности:
iziToast позволяет глубоко настраивать уведомления:
icon: 'fa fa-exclamation-circle'.light или
dark.fadeInDown, fadeOutUp и
др.).1 — стандартная, 2 — для длинных
сообщений).Пример с кастомной анимацией и иконкой:
iziToast.show({
title: 'Ошибка валидации',
message: 'Поле "Имя" не должно быть пустым',
icon: 'fa fa-user-times',
color: 'red',
theme: 'dark',
position: 'topRight',
timeout: 4000,
transitionIn: 'fadeInDown',
transitionOut: 'fadeOutUp',
progressBarColor: '#ff0000'
});
Часто формы содержат несколько полей, которые необходимо проверять одновременно. Удобно выводить все ошибки через цикл:
let errors = [];
if (!email.includes('@')) errors.push('Email введён некорректно');
if (password.length < 6) errors.push('Пароль слишком короткий');
if (username.trim() === '') errors.push('Имя пользователя не может быть пустым');
errors.forEach(error => {
iziToast.error({
title: 'Ошибка',
message: error,
position: 'topRight',
timeout: 5000
});
});
Такой подход обеспечивает последовательное информирование пользователя о каждой проблеме, не перегружая интерфейс одной общей ошибкой.
При проверке данных на сервере (например, уникальность email) можно использовать fetch или axios:
async function validateEmail(email) {
try {
let response = await fetch(`/check-email?email=${email}`);
let data = await response.json();
if (!data.available) {
iziToast.error({
title: 'Ошибка',
message: 'Email уже занят',
position: 'topRight'
});
} else {
iziToast.success({
title: 'Email доступен',
message: 'Можно использовать этот email',
position: 'topRight'
});
}
} catch (err) {
iziToast.error({
title: 'Ошибка сервера',
message: 'Не удалось проверить email',
position: 'topRight'
});
}
}
Такой подход помогает сочетать клиентскую и серверную валидацию с единым стилем уведомлений.
iziToast становится мощным инструментом валидации благодаря своей гибкости, легкости интеграции и возможности визуально выделять ошибки, предупреждения и успехи без необходимости создавать собственные модальные окна или уведомления с нуля.