Niestandardowe komunikaty o błędach
Część sekcji JavaScript w praktyce ścieżki HTML w Coddy. Lekcja 6 z 27.
Niestandardowe komunikaty o błędach pomagają użytkownikom zrozumieć, co jest nie tak z danymi wprowadzonymi w formularzu. Nauczmy się tworzyć i wyświetlać je podczas walidacji formularza.
Najpierw utwórzmy podstawowe pole wejściowe i element span obok niego, w którym wyświetlimy komunikat:
<input type="text" id="username" placeholder="Enter username">
<span id="usernameError" class="error"></span>Teraz dodajmy JavaScript, aby sprawdzać poprawność danych wejściowych i wyświetlać niestandardowy komunikat o błędzie:
const usernameInput = document.getElementById('username');
const usernameError = document.getElementById('usernameError');
usernameInput.addEventListener('input', function() {
if (this.value.length < 5) {
usernameError.textContent = "Username must be at least 5 characters long";
usernameError.style.color = "red";
} else {
usernameError.textContent = "";
}
});Gdy użytkownik wpisuje tekst w polu wejściowym, nasłuchiwacz zdarzeń sprawdza, czy nazwa użytkownika ma co najmniej 5 znaków. Jeśli nie, wyświetla czerwony komunikat o błędzie.
Wyzwanie
ŁatwyMamy już stronę z polem do wpisania adresu e-mail i obszarem na komunikat poniżej.
Twoje zadanie: wewnątrz detektora zdarzeń dodaj instrukcję if-else, która sprawdza, czy wartość pola zawiera symbol <strong>@</strong>.
- Jeśli tak → wyświetl komunikat „Looks good!”
- W przeciwnym razie → wyświetl komunikat „Please enter a valid email address”
Spróbuj swoich sił
<!DOCTYPE html>
<html>
<head>
<title>Custom error messages</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="form-container">
<h2>Create Your Account</h2>
<p class="subtitle">Join our newsletter for the latest updates</p>
<form>
<label for="email">Email Address</label>
<input type="text" id="email" placeholder="e.g. user@example.com">
<span id="emailError" class="message"></span>
<button type="button">Subscribe</button>
</form>
</div>
<script src="script.js"></script>
</body>
</html>
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji JavaScript w praktyce
1Interaktywność/komponenty UI
KartyAkordeon (rozwijanie/zwijanie)Modal (otwieranie/zamykanie)Menu rozwijane2Formularze i walidacja
Walidacja danych wejściowychNiestandardowe komunikaty o błędachPrzyciski przesyłaniaPoćwicz samodzielnie: Edytor online Web