Pomiń nawigację
Ćwiczenie · Informatyka Ćwiczenie: Warunkowa blokada wysyłki formularza

Warunkowa blokada wysyłki formularza

Treść zadania

Formularz zapisu na warsztaty ma pola #poleImie i #poleEmail oraz akapit #komunikat. Na zdarzeniu submit sprawdź dane i zachowaj się różnie w zależności od wyniku:

  1. Jeżeli imię jest puste albo e-mail nie zawiera @, wywołaj event.preventDefault(), wpisz w komunikacie Błąd: popraw imię lub e-mail. i zakończ funkcję.
  2. Jeżeli dane są poprawne, wpisz Dane poprawne — formularz został wysłany. i nie blokuj domyślnej wysyłki.

Formularz nie ma ustawionego action, więc w podglądzie poprawna wysyłka może przeładować ramkę. Testy sprawdzają samo zdarzenie submit, bez przeładowania strony.

Co będzie oceniane

  • Zablokowanie wysyłki tylko przy błędnych danych.
  • Komunikat błędu dla pustego imienia lub adresu bez znaku @.
  • Brak blokady i komunikat sukcesu dla poprawnych danych.
  • Wykorzystanie zdarzenia submit oraz event.preventDefault() w właściwym miejscu.
  • Kod uruchamia się bez błędu i przechodzi wszystkie testy automatyczne.

Testy automatyczne (2)

  1. Błędny e-mail blokuje wysyłkę — tekst #komunikat = Błąd: popraw imię lub e-mail.; zablokowany = tak
  2. Poprawne dane przechodzą do wysyłki — tekst #komunikat = Dane poprawne — formularz został wysłany.; zablokowany = nie

Zaliczenie: wszystkie testy muszą przejść. Testy uruchamia się przyciskiem „Sprawdź testy” pod kodem.

// Zablokuj wysyłkę tylko wtedy, gdy dane są błędne

Wskazówki

Wskazówka 1

Nie wywołuj event.preventDefault() na początku funkcji. Umieść je dopiero w gałęzi, w której dane są błędne.

Wskazówka 2

Warunek błędu może wyglądać tak: imie.value.trim() === '' || !email.value.includes('@'). Po komunikacie błędu użyj return;, aby nie wykonywać dalszej części.