„Vyplňte prosím toto pole.“ ← Dá sa editovať tento text?
- David Matějka
- Moderator | 6445
Zmenit se (asi) neda, ale html5 validace se necha vypnout pomoci atributu novalidate u formulare, v php pri vytvareni formu pak:
$form->elementPrototype->novalidate = "novalidate";
- ic
- Člen | 430
Čekal jsem, že po těch letech na tu už něco bude … a nic :(
W3C se vyjadřovalo něco ve smyslu, že upravit tuto hlášku neumožní, ale doufal jsem, že znění názor… no nevypadá to.
Takže text „Vyplňte prosím toto pole.“ se editovat sice dá, ale jen
s využitím javascriptu a události oninvalid
, ve které zavolám
JS funkci setCustomValidity('Vlastní chybová hláška')
.
Z ne-js možností je tu jen atribut x-moz-errormessage
který,
jak je hned patrné, funguje pouze v FF. Nevím, že tenkrát nevyužili
data-
atribut, protože takhle je to vlastně nevalidní.
Takže asi nejlépe využívat:
<input type="text" oninvalid="setCustomValidity('Vlastní chybová hláška')" name="…" required>
Přemýšlel jsem nad přestavbou nette formulářů a javascriptu
netteForms.js, aby si pomocná data chybové hlášky ukládala právě do
oninvalid="setCustomValidity('…')"
, ale moc výhod to
nepřinese, bez JS to stejně nepojede, takže leda výhoda to, že pokud se
nepodaří z nějakého důvodu načíst netteForms.js script by to něco
dělalo. Což myslím, že za to snad ani nestojí.
Využít pro ukládání chybových hlášek atribut
x-moz-errormessage
by bylo zase nevalidní, takže zatím to
vypadá že žádné elegantní řešení neexistuje… počkám pár let a
mrknu na to znovu :)