update
This commit is contained in:
23
.paul/phases/09-past-date-validation/09-02-PLAN.md
Normal file
23
.paul/phases/09-past-date-validation/09-02-PLAN.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# PLAN 09-02: Fix — walidacja godziny wstecznej w bieżącym dniu
|
||||
|
||||
## Problem
|
||||
Atrybut `min` na `datetime-local` nie jest konsekwentnie wymuszany przez przeglądarki dla części godzinowej. Użytkownik może wybrać dzisiejszą datę z godziną wcześniejszą niż teraz. Ponadto `enforceDateMin()` jest wywołane raz — `now` się starzeje.
|
||||
|
||||
## Rozwiązanie
|
||||
1. Przenieść `enforceDateMin()` poza `if (!dataLoaded)` — odświeżać `min` przy każdym otwarciu modala
|
||||
2. Dodać event listener `change` na inputach dat, który sprawdza czy wartość < now i jeśli tak — czyści pole + pokazuje komunikat
|
||||
3. Analogicznie w search form — odświeżanie min przy każdym `initSearchForm` run
|
||||
|
||||
## Taski
|
||||
|
||||
### Task 1: Odświeżanie min przy każdym otwarciu modala + walidacja on change
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:**
|
||||
- Przenieść `enforceDateMin()` za blok `if (!dataLoaded)`
|
||||
- W `enforceDateMin()` dodać listener `change` na dateFrom i dateTo sprawdzający `value < getNowLocal()` → markFieldError + clear value
|
||||
**Done:** Nie da się ustawić godziny wstecznej — pole reaguje natychmiast
|
||||
|
||||
### Task 2: Analogiczna walidacja on change w search form
|
||||
**Plik:** `assets/js/carei-reservation.js`
|
||||
**Akcja:** Dodać listener change na searchDateFrom/searchDateTo sprawdzający past time
|
||||
**Done:** Search form również blokuje godziny wsteczne
|
||||
Reference in New Issue
Block a user