HTML5 Date / Datetime string format
- Roman Rotter
- Člen | 2
V návaznosti na https://forum.nette.org/…-formularich – bylo by možné pro případ
$form->addText('datum', 'Datum:')
->setType('datetime') //nebo 'date'
upravit chování tak, aby nativně podporoval očekávaný formát (Y-m-d\TH:i:s) nebo v případě date (Y-m-d)?
A nebo podporovat uživatelské formátování hodnoty pro view (možná to
Nette umí, ale nenašel jsem v dokumentaci a s php / nette nedělám moc
často, takže většinou tápu v tom, co se od minula změnilo).
Např. c#/WPF má StringFormat pro běžné typy jako je datum, číslo
⇒ něco jako ->setFormat(‚formatString‘)?.
Pro nestandardní převody pak třídu ValueConverter s metodami
Convert a ConvertBack – jednoduchý princip, ale umí
vyřešit hodně problémů. Hledal podobnou funkčnost, ale zatím
neúspěšně.
- duke
- Člen | 650
@hrach Co se stalo s DateTimePicker+? Všiml jsem si, že na Nextras máš jakousi podivnou třífázovou variantu. :-)
- Roman Rotter
- Člen | 2
Pluginem DateTimePicker+ jsem to obešel, proto jsem tady přidal podnět. Nepotřeboval jsem ty funkce navíc, když se o zbytek stará prohlížeč.
Pokud má mít Nette podporu html5 formulářů, tak by ten datum (nebo něco jiného) měl jít podle mého názoru bez doplňků, o které je třeba se při upgradech starat, nemluvě o tom, kolik času zabralo hledání, zprovozňování a zkoušení doplňků než jsem přišel na to, že zrovna tento po vypnutí init js dělá co je potřeba.
Standardně pokud se použije setType(‚datetime‘), tak Opera/Chrome, které už to podporují zobrazí ten control bez vložených dat, protože je formátován špatně. A pokud každá změna formátu vyžaduje samostatný doplněk, tak to snižuje udržitelnost v budoucnu, protože není zajištěno, že doplněk bude vyvíjen a updatován stejně jako framework.