Для работы с iziToast необходимо подключить библиотеку в проект. Обычно это делается через CDN или локальные файлы:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/izitoast/dist/css/iziToast.min.css">
<script src="https://cdn.jsdelivr.net/npm/izitoast/dist/js/iziToast.min.js"></script>
После подключения можно создавать уведомления с помощью метода
iziToast.show() или специализированных методов
iziToast.success(), iziToast.error(),
iziToast.info(), iziToast.warning(). Эти
методы принимают объект конфигурации с параметрами уведомления.
Пример базового уведомления:
iziToast.success({
title: 'Успех',
message: 'Данные успешно получены',
position: 'topRight'
});
Для интеграции iziToast с формами важно сначала корректно извлечь
данные из полей. В JavaScript для этого используется метод
document.querySelector или
document.getElementById. Например:
let username = document.getElementById('username').value;
let email = document.querySelector('input[name="email"]').value;
После получения значений полей их можно использовать для отображения уведомлений, валидации или отправки на сервер.
Часто необходимо уведомлять пользователя о корректности введенных данных. Вариант с проверкой простого условия:
let password = document.getElementById('password').value;
if(password.length < 6) {
iziToast.error({
title: 'Ошибка',
message: 'Пароль должен содержать минимум 6 символов',
position: 'topRight'
});
} else {
iziToast.success({
title: 'Ок',
message: 'Пароль корректен',
position: 'topRight'
});
}
Особое внимание стоит уделять пустым полям, числовым ограничениям и форматам (например, email). Проверку можно расширить с использованием регулярных выражений:
let email = document.getElementById('email').value;
let emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if(!emailPattern.test(email)) {
iziToast.warning({
title: 'Предупреждение',
message: 'Введите корректный email',
position: 'topRight'
});
}
При работе с несколькими полями удобно собирать значения в объект для дальнейшей обработки:
let formData = {
username: document.getElementById('username').value,
email: document.getElementById('email').value,
password: document.getElementById('password').value
};
if(formData.username === '' || formData.email === '' || formData.password === '') {
iziToast.error({
title: 'Ошибка',
message: 'Все поля должны быть заполнены',
position: 'topRight'
});
} else {
iziToast.success({
title: 'Данные приняты',
message: 'Форма успешно заполнена',
position: 'topRight'
});
}
Использование объекта позволяет легко передавать данные в AJAX-запросы или функции обработки на клиенте без дублирования кода.
iziToast поддерживает множество опций для кастомизации уведомлений:
title – заголовок уведомления.message – основной текст.position – положение на экране (topRight,
topLeft, bottomRight, bottomLeft,
center).timeout – время отображения в миллисекундах.theme – тема (light,
dark).progressBar – включение индикатора времени показа.buttons – добавление интерактивных кнопок внутри
уведомления.Пример уведомления с кнопкой:
iziToast.show({
title: 'Подтверждение',
message: 'Хотите отправить форму?',
position: 'topRight',
timeout: 0,
close: false,
buttons: [
['<button>Да</button>', function (instance, toast) {
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
console.log('Форма отправлена');
}],
['<button>Нет</button>', function (instance, toast) {
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}]
]
});
Для динамического отображения уведомлений часто используется событие
submit формы. Оно позволяет перехватывать отправку,
проверять поля и показывать iziToast уведомления без перезагрузки
страницы:
document.getElementById('myForm').addEventListener('submit', function(e) {
e.preventDefault();
let username = document.getElementById('username').value;
let email = document.getElementById('email').value;
if(username === '' || email === '') {
iziToast.error({
title: 'Ошибка',
message: 'Заполните все поля',
position: 'topRight'
});
return;
}
iziToast.success({
title: 'Готово',
message: 'Форма отправлена успешно',
position: 'topRight'
});
});
Такой подход обеспечивает мгновенную обратную связь пользователю, снижает количество ошибок и повышает удобство работы с формой.
Часто после получения данных из полей требуется отправить их на
сервер через fetch или axios. iziToast может
использоваться для отображения состояния запроса:
fetch('/submit', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(formData)
})
.then(response => response.json())
.then(data => {
iziToast.success({
title: 'Успех',
message: 'Данные успешно отправлены',
position: 'topRight'
});
})
.catch(error => {
iziToast.error({
title: 'Ошибка',
message: 'Не удалось отправить данные',
position: 'topRight'
});
});
Такой подход объединяет получение данных из полей, их проверку и уведомления в единый поток обработки формы.