Kdyby\Translation validacni message formu s parametry
- Jan Mikeš
- Člen | 771
Ahoj, chci se zeptat, zda-li se da nejak dostat k parametrum z metody ->addRule pro Kdyby\Translation
Ve formulari jiz mam nastaveny translator, takze pokud uvadim v message $form->translator->translate(), tak to hleda v neonu klic s jiz prelozenou zpravou (zprava se sice zobrazuje spravne, ale v debug baru mi sviti tucne ERRORS, s touto neprelozenou zpravou a rad bych se ji zbavil).
Aktualni stav:
$form->addUpload("image", "forms.label.photo")
->addCondition($form::FILLED)
->addRule($form::IMAGE, "forms.messages.imageFormat")
->addRule($form::MAX_FILE_SIZE, $form->translator->translate("forms.messages.maxFileSize", NULL, ["fileSize" => 256]), 256 * 1024);
Da se udelat neco jako toto?:
$form->addUpload("image", "forms.label.photo")
->addCondition($form::FILLED)
->addRule($form::IMAGE, "forms.messages.imageFormat")
->addRule($form::MAX_FILE_SIZE, array("forms.messages.maxFileSize", NULL, ["fileSize" => 256]), 256 * 1024);
Uplne nejlepsi reseni by bylo zde vyuzit identifikator %d (funkce sprintf), ale nenapada me jak..
Dalsi reseni me napadlo vypnout translator ciste pro tento input, kde jej potrebuji rucne (zbytecne se to pak ale komplikuje):
$form->addUpload("image", $form->getTranslator()->translate("forms.label.photo"))
->setTranslator(NULL)
->addCondition($form::FILLED)
->addRule($form::IMAGE, $form->getTranslator()->translate("forms.messages.imageFormat"))
->addRule($form::MAX_FILE_SIZE, $form->translator->translate("forms.messages.maxFileSize", NULL, ["fileSize" => 256]), 256 * 1024);
Predem diky za vase odpovedi
- Jan Mikeš
- Člen | 771
Vypada to jako presne to co jsem hledal.
Pokud jsem z testu
pochopil spravne pouziti, staci vytvorit objekt
new Phrase($msg, NULL, ["param"=>$val]);
A o zbytek se postara magie z Kdyby (predani translatoru, localu atd..)?
Edit: funguje to paradne, diky!
Editoval Lexi (29. 1. 2015 12:40)
- David Matějka
- Moderator | 6445
Ano, staci tohle. A ona to zadna magie neni – nette uz
je jedno, jestli je zprava retezec. metoda
$translator->translate()
se tak zavola s tim objektem.