Polja obrazca: Calendar
Nazaj: predstavitveni pregled
1. Pregled in namen
Stanje: [Live]. Referenca: DevExpress-ov ASPxCalendar
(MinDate/MaxDate/DisabledDates/FirstDayOfWeek/
EnableMultiSelect/ShowClearButton).
2. Predpogoji
skupna pogodba polj že razumljena.
3. Pojmi
Osnova brez JS: nativen <input type="date">. Pogodba gradi na
nativnem izbirniku datuma brskalnika — nobena mreža koledarja JS se ne
obnavlja. scripts/formfields.js sme nativni kontrolnik postopno
dopolniti (npr. večkratna izbira, ki je <input type="date"> ne
pozna), a ga nikoli ne nadomesti.
4. Prvi koraki
echo $widgets->calendar([ 'name' => 'datum_omejitve', 'label' => 'Datum omejitve', 'min' => '2026-01-01', 'max' => '2026-12-31', ]);
5. Uporaba
Posamezen datum brez časovnega dela. Za časovne točke: Date and Time.
6. API referenca
calendar(array $opts): string v
helper_plugin_wkfluentui_widgets — nativen
<input type="date">, brez obnove mreže koledarja.
7. Parametri, možnosti in stanja
| Ključ | Tip | Pomen | Ustreznik DevExpress |
|---|---|---|---|
min | string (datum ISO) | nativni atribut min | MinDate |
max | string (datum ISO) | nativni atribut max | MaxDate |
disabledDates | array | brez nativnega ustreznika — izriše data-wk-disabled-dates; scripts/formfields.js javi zaklenjen datum prek setCustomValidity — čista vljudnost na strani odjemalca, strežnik mora znova preveriti (noben brskalnik ne uveljavi vrzeli) | DisabledDates |
multiSelect | bool | večkratna izbira brez obnove mreže koledarja: nativno polje datuma + gumb „Dodaj datum„ zbira vrednosti kot čipe s skritimi polji name[] (odstranljivo na čip); polje values nastavi predizbiro. Rezervni način brez JS: polje se degradira na posamezen <input type="date"> z name | EnableMultiSelect |
Začetek tedna nativnega izbirnika datuma sledi lokalizaciji
brskalnika/OS — nastavljiv FirstDayOfWeek namerno ni del
pogodbe (brez obnove mreže koledarja, glej odsek 3).
Varnost: disabledDates in multiSelect ni mogoče uveljaviti
zgolj z nativnim HTML — strežnik mora znova preveriti na strani
strežnika, ne le na strani odjemalca (noben brskalnik ne uveljavi vrzeli
ali omejitev večkratne izbire).
8. Popolni primeri
echo $widgets->calendar([ 'name' => 'termin', 'label' => 'Termin', 'min' => date('Y-m-d'), ]);
9. Omejitve in robni primeri
- Brez nastavljivega začetka tedna (odsek 7 — odloča lokalizacija brskalnika).
- Obravnava časovnih pasov je namerno zunaj pogodbe:
value/min/maxso čisti datumski nizi (brez časovnega dela).
10. Dostopnost in združljivost
Celoten pregled: Accessibility.
11. Odpravljanje težav
Se ne uporablja.
12. Sorodne teme
- predstavitveni pregled — vsaka kategorija
- Polja obrazca: Date and Time — časovna točka namesto golega datuma
- Polja obrazca: osnove — skupna pogodba polj