Nefunkční validace ve Firefoxu
- jedlicka
- Člen | 70
Zdravím,
zjistil jsem takovou nepříjemnou věc. Pokud použiju ve formuláři
addInteger
, tak v Chrome (Edge,
Opera) nelze zadat jinou, než číselnou hodnotu, což je
správně.
Ale ve Firefoxu lze zadat cokoliv, takže do číselného pole klidně uživatel napíše kkk.
Zkoušel jsem různé jiné zápisy:
$form->addInteger('number');
$form->addText('number')->setHtmlAttribute('type', 'number');
$form->addText('number')->addRule($form::INTEGER);
ale funguje to stejně.
Nějaká rada?
Díky.
Martin
- Šaman
- Člen | 2658
A je to problém Nette? Tedy pokud si uděláš obyčejnou html stránku s formulářem s jedním numeric inputem, bude možné tam zapsat a odeslat cokoliv? Pokud ano, je to věc prohlížeče a toho, jestli podporuje html validaci.
Předpokládám, že v Nette ti to po odeslání spadlo na serverové validaci, takže zafungovala Nette validace, která ti ručí za validní vstup. Ta html validace v prohlížeči je spíš kosmetika, než spolehlivá kontrola.
Editoval Šaman (2. 9. 14:54)
- Gappa
- Nette Blogger | 207
Tak se Firefox chová a nejspíš se na tom v dohledné době nic nezmění:
Případně to ošetřit ručně pomocí JS.