TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.5K subscribers
Post #2256 1.06K
Как валидировать формы на JavaScript

Многие начинающие верстальщики ограничиваются required, type="email" и pattern="". Это удобно, но часто недостаточно. Гибкая валидация требует JavaScript.

Простой пример валидации email
HTML:
<form id="myForm">
<input type="email" name="email" placeholder="Введите email" required />
<button type="submit">Отправить</button>
</form>


JS:
const form = document.getElementById("myForm");

form.addEventListener("submit", (e) => {
e.preventDefault();

const emailInput = form.email;
const email = emailInput.value;

if (!email.includes("@") || !email.includes(".")) {
alert("Пожалуйста, введите корректный email");
emailInput.focus();
return;
}

alert("Форма успешно отправлена");
form.reset();
});


Варианты валидации
1. HTML-проверка через pattern:
<input type="text" pattern="[A-Za-z]{3,}" title="Только латиница, минимум 3 буквы">

2. JS: input.validity
js
if (!emailInput.validity.valid) {
alert("Некорректный email");
}

3. JS: setCustomValidity()
emailInput.setCustomValidity("Пожалуйста, проверьте email");

Работает только с формами, которые потом отправляются нативно (form.submit() без preventDefault).

Дополнительные советы
Используй trim() при проверке, чтобы убрать пробелы.

Проверяй не только email, но и пароли, телефоны, checkbox'ы.

Добавляй визуальные подсказки (цвета, сообщения).

Почему это важно?
Плохая валидация = сломанные формы, негативный UX и ошибки на бэке.
Хорошая валидация:
- помогает пользователю
- экономит время
- делает интерфейс понятным

#js | #полезности
  • ❤ 5
  • 👍 4
More from @free_html_lessons
  1. Oct 6, 2026Post #3078
  2. Oct 6, 2026Cтартовый шаблон для верстки и js проектов на vite (scss, PostCSS) Ссылка на github 👨‍💻…
  3. Oct 5, 2026Post #3076
  4. Oct 5, 2026Атрибут rel="noreferrer" Читать 👨‍💻 #html | #полезности
  5. Oct 4, 2026Подборка лучших постов за прошлую неделю Лучшие статьи @free_html_lessons: 1. Применение р…
  6. Oct 3, 2026Мета теги Apple Они помогают улучшить отображение сайта в браузере Safari, настройку работ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →