Zobrazeni vlastni chyby u komponenty
- D4
- Člen | 2
Zdravim, mam dotaz ohledne zobrazeni vlastni chyby ve formulari…
formular si vytvarim v sablone sam
{!$control['zapomenuteHeslo']->elementPrototype->startTag()}
<p>{$control['zapomenuteHeslo-email']->label} {$control['zapomenuteHeslo-email']->control}<span n:foreach="$presenter['zapomenuteHeslo-email']->errors as $chyby" class="chyba">{$chyby}</span></p>
<p>{$control['zapomenuteHeslo-odeslat']->control}</p>
{!$control['zapomenuteHeslo']->elementPrototype->endTag()}
a potrebuju vlozit hlasku ke komponente zapomenuteHeslo-email
v prezenteru mam tedy toto
public function formZapomenuteHeslo($form) {
$data = $form->getValues();
if (!Uzivatele::jeRegistrovanyEmail($data['email'])) {
$form->addError("Tento email není zaregistrovaný. Použijte jiný.");
return;
}
Tim se ale vklada error hlaska k formulari a nikoliv k e-mail polozce.
Poradi nekdo? DIKY!
- Filip Procházka
- Moderator | 4668
V první řadě… co to renderování? :)
{form zapomenuteHeslo}
<p>{label email /} {input email}
<span n:foreach="$form['email']->errors as $error" class="chyba">{$error}</span>
</p>
<p>{input odeslat}</p>
{/form}
Proč to dělat jednoduše, když to jde složitě. Že :)
No a k té hlášce…
public function formZapomenuteHeslo($form)
{
$data = $form->getValues();
if (!Uzivatele::jeRegistrovanyEmail($data['email'])) {
// chyby jde přidávat i přímo prvku, do formuláře se předá sama
$form['email']->addError("Tento email není zaregistrovaný. Použijte jiný.");
return;
}
// ...
No a ten tvuj čecho-english je horzný :) Otevři si http://translate.google.cz/ a trochu se snaž ;)
- Filip Procházka
- Moderator | 4668
Je dobrým programátorským zvykem psát kód anglicky. Kdyby php bylo česky, dávalo by smysl programovat česky, ale ono není, proto volání jako jsou třeba
$user = $uzivatele->getUzivatel($id);
// nebo
$retezec1 = str_replace('a', 'b', $retezec2);
Vypadají opravdu neprofesionálně.
- petr.pavel
- Člen | 535
Rád bych se zastal D4, s češtinou/angličtinou to cítím podobně. Prohlášení, že čeština vypadá blbě a neprofesionálně považuji za demagogii. Kdo má zájem, může se podívat na moje argumenty.
Platí ovšem, že název proměnné $retezec (nebo $string) je špatně. Z názvu má být vidět, co je obsahem a jakou formu to má.
Editoval petr.pavel (10. 11. 2011 16:51)
- Filip Procházka
- Moderator | 4668
O tom už jsme se jednou bavili a víš moc dobře jak to skončilo. Žádný guru s tebou nesouhlasil.
- petr.pavel
- Člen | 535
Vím, jak to dopadlo: nesouhlasil se mnou nikdo z aktivní komunity kolem Nette. To bych ale nepovyšoval na absolutní pravdu, a proto jsem se tady D4 zastal.
Komunita kolem Nette mi přijde v něčem jiná než u ostatních projektů, na které jsem narazil. To je v pořádku, v tom je jedno z kouzel open source jako fenoménu, je tu demokracie. Časem se třeba může stát, že převáží jiný názor a situace bude jiná.
<nadsazka>
Komu se to nelíbí, může si spravovat vlastní fórum/dokumentaci, kde se budou příklady uvádět v češtině. :-)
</nadsazka>