Przejdź do treści głównej
INF.03Pytanie #1153 z 1558html-formularze

W formularzu znajduje się pole <input type="number">. Jak zapewnić, aby użytkownik mógł wprowadzać tylko wartości będące wielokrotnością liczby 5, w zakresie od 10 do 100, korzystając z wbudowanych mechanizmów walidacji HTML5?

Opcje odpowiedzi:
A
Używając atrybutów min="10", max="100" oraz step="5".
Prawidłowa
B
Stosując atrybut pattern="[1-9][05]" oraz min="10", max="100".
C
Definiując atrybuty data-min="10", data-max="100" i data-step="5" i obsługując walidację przez JavaScript.
D
Używając atrybutu valid-numbers="10,15,20,...,100".
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A (Używając atrybutów min="10", max="100" oraz step="5".)

Dla <input type="number"> (oraz type="range"), atrybuty min i max określają dopuszczalny zakres wartości. Atrybut step definiuje dozwolony krok (inkrement) między wartościami. Ustawienie step="5" w połączeniu z odpowiednim min i max zapewni, że tylko wielokrotności 5 (zaczynając od wartości min, jeśli jest wielokrotnością, lub najbliższej wielokrotności step powyżej min) będą uznawane za prawidłowe.

Dlaczego pozostałe opcje są nieprawidłowe?

  • B: Chociaż pattern mógłby być użyty do pewnych walidacji liczbowych, atrybut step jest dedykowanym i prostszym rozwiązaniem dla tego konkretnego problemu z typem number. Wyrażenie regularne [1-9][05] nie pokryje wszystkich wielokrotności 5 (np. 25) i pozwoli na liczby spoza zakresu (np. 95 przed sprawdzeniem max).
  • C: Atrybuty data-* nie są używane przez wbudowane mechanizmy walidacji HTML5; wymagałyby dodatkowego kodu JavaScript.
  • D: Atrybut valid-numbers nie jest standardowym atrybutem HTML.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Html formularze”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 36 pytań z tego działu.