Nefunkční validace ve Firefoxu

jedlicka
Člen | 70
+
0
-

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 | 2662
+
+3
-

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 | 208
+
0
-

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.