Jak se přidá HTML atribut k Nette\Forms\TextInput?
- sharkcz
- Člen | 28
Ahoj,
chtěl bych přidat atribut title k prvku Nette\Forms\TextInput a trochu tápu. Použil jsem následující kód:
<?php
$control = $password->getControlPrototype();
$control->title = "The %label must contain only visible ASCII characters.";
?>
V tomto případě nedojde k nahrazení %label za název prvku, jako to funguje u $password->addRule(). Existuje ještě nějaká lepší alternativa?
- sharkcz
- Člen | 28
Nemá někdo nějaký nápad? Za celé 4 mesíce se nenašel někdo, kdo by tomu rozuměl?
Potřebuji atribut title u formulářového prvku z důvodů validace ve FF a Webkitu. V title se má nacházet nahrazené %label za název prvku, text má být lokalizovaný pomocí formulářového translatoru.
- Nox
- Člen | 378
Control prototype už myslim není zpracovávaný formulářovými mechanismy, % funguje u pravidel, která přímo souvisí s formulářovou logikou
Budeš asi muset použít nějaké str_replace, sprintf nebo tak … nejlépe uzavřené do nějaké univerzální funkce (anebo si napsat něco, co ti nahradí titly, anebo i jiné atributy…to už záleží jak to potřebuješ)
- Jan Endel
- Člen | 1016
Teoreticky by šlo podědit pouze Nette\Forms\Controls\TextInput a přepsat metodu setAttribute:https://api.nette.org/…rol.php.html#177 tak aby replacovala tebou daný string.