1.9 KiB
1.9 KiB
PLAN 09-01: Blokada dat i godzin wstecznych
Cel
Uniemożliwić użytkownikowi wybranie daty/godziny z przeszłości w formularzach rezerwacji (modal + hero search form). Wyświetlić komunikat błędu jeśli wybrana data/godzina już minęła.
Kontekst
- Inputy
datetime-local:#carei-date-from,#carei-date-to(modal),#carei-search-date-from,#carei-search-date-to(hero) - Widget PHP:
class-elementor-widget.phplinie 86, 93 - JS:
carei-reservation.js— walidacja wvalidateForm()(linia ~607), eventy winitDynamicLoading()(linia ~1073), search forminitSearchForm()(linia ~1108)
Taski
Task 1: Ustawienie atrybutu min na inputach datetime-local
Plik: assets/js/carei-reservation.js
Akcja: Dodać funkcję enforceDateMin() która:
- Ustawia
minna bieżący datetime (formatYYYY-MM-DDTHH:MM) na inputachdateFromisearchDateFrom - Przy zmianie
dateFromustawiaminnadateTo= wartośćdateFrom - Analogicznie dla search form (
searchDateFrom→searchDateTo) - Wywoływana przy init modala i init search form
Weryfikacja: Przeglądarka blokuje wybór dat wcześniejszych niż teraz
Done: Atrybuty
mindynamicznie ustawione na wszystkich 4 inputach
Task 2: Walidacja w validateForm() — komunikat błędu
Plik: assets/js/carei-reservation.js
Akcja: W validateForm() po sprawdzeniu dateTo > dateFrom dodać sprawdzenie:
- Jeśli
dateFrom < now→ error "Data lub godzina rozpoczęcia już minęły" - Jeśli
dateTo < now→ error "Data lub godzina zakończenia już minęły" Weryfikacja: Komunikat wyświetla się pod polem z czerwonym obramowaniem Done: Walidacja blokuje submit z datami wstecznymi + pokazuje polski komunikat
Pliki do modyfikacji
wp-content/plugins/carei-reservation/assets/js/carei-reservation.js
Ryzyko
- Brak — zmiana czysto frontendowa, walidacja klient-side