Atrybuty formularzy (required, pattern, placeholder)
Atrybuty formularzy: required, pattern, placeholder
HTML5 wprowadził wiele przydatnych atrybutów, które zwiększają funkcjonalność formularzy i poprawiają doświadczenie użytkownika. Dzięki nim możemy wymagać wypełnienia pola, zasugerować sposób wpisania danych lub sprawdzać poprawność wprowadzonych informacji bez użycia JavaScript.
1. required – pole obowiązkowe
Atrybut required oznacza, że dane pole musi zostać wypełnione przed wysłaniem formularza. Jeśli użytkownik pominie to pole, przeglądarka automatycznie wyświetli komunikat i nie pozwoli na wysłanie formularza.
<label for="imie">Imię:</label> <input type="text" id="imie" name="imie" required>
Działanie: przeglądarka wymusi uzupełnienie pola.
2. placeholder – tekst podpowiedzi
Ten atrybut umożliwia wyświetlenie podpowiedzi wewnątrz pola formularza. Tekst znika w momencie, gdy użytkownik zacznie wpisywać własne dane.
<label for="email">E-mail:</label> <input type="email" id="email" name="email" placeholder="np. jan@domena.pl">
Uwaga: placeholder nie zastępuje label. Stosuj oba dla lepszej dostępności!
3. pattern – dopasowanie do wzorca (wyrażenie regularne)
Atrybut pattern pozwala określić wzorzec (wyrażenie regularne), który musi pasować do wpisanej przez użytkownika wartości. Jeśli dane nie spełniają wzoru, formularz nie zostanie wysłany.
Przykład: Pole może przyjąć tylko litery (od 3 do 10 znaków):
<label for="nazwa">Nazwa użytkownika:</label>
<input type="text" id="nazwa" name="nazwa" pattern="[A-Za-z]{3,10}" required>
Wyjaśnienie wzoru:
[A-Za-z]– tylko litery alfabetu (małe i wielkie),{3,10}– długość od 3 do 10 znaków.
Jeśli użytkownik wpisze cyfrę lub zbyt krótki/za długi tekst – formularz nie zostanie wysłany.
4. Przykładowy formularz z atrybutami
<form>
<label for="imie">Imię:</label>
<input type="text" id="imie" name="imie" required placeholder="Wpisz swoje imię">
<br><br>
<label for="email">E-mail:</label>
<input type="email" id="email" name="email" required placeholder="np. jan@domena.pl">
<br><br>
<label for="kod">Kod alfanumeryczny:</label>
<input type="text" id="kod" name="kod" pattern="[A-Za-z0-9]{5,8}" placeholder="np. ABC123">
<br><br>
<button type="submit">Wyślij</button>
</form>
🎯 Ćwiczenie
Uruchom JSFiddle i przetestuj działanie powyższego formularza. Zmień wzorzec pattern, dodaj nowe pola z required lub spróbuj stworzyć własne pole z walidacją.
✅ Podsumowanie
required– użytkownik musi uzupełnić pole, inaczej formularz się nie wyśle.placeholder– wyświetla podpowiedź wewnątrz pola.pattern– sprawdza dane według wyrażenia regularnego.
Dzięki tym atrybutom możesz budować bardziej użyteczne i bezpieczne formularze bez potrzeby pisania JavaScriptu.
