Zobrazenie error správ pre intput textarea

publikované: od: Tibor Piňo

V dnešnom článku si ukážeme malý trik, ako zobraziť validačné error správy pri inpute textarea.

CakePHP defaultne nezobrazuje validačné správy pri inpute typu textarea. Pozrime sa na nasledovný príklad

echo $form->textarea(‚text‘);

Tento kód nám správne vygeneruje input textarea, avšak problém nastáva vo chvíli, kedy textarea neprejde validáciou a spolu s textareou by sa mala zobraziť aj validačná správa, ktorá nás bude informovať o tom, čo nie je v poriadku. Takto by vypadal HTML kód pre textarea v prípade validačnej chyby, ak by sme textareu vykresľovali metódou $form->textarea(‚text‘);

<textarea name=„data[Ar­ticle][text]“ cols=„10“ rows=„10“ id=„ArticleIn­troText“ class=„form-error“ ></textarea>

Ako môžeme vidieť, CakePHP nám v tomto prípade žiadnu error správu nevygeneroval, avšak aspoň pridal atribút class=„form-error“. Toto správanie je nežiadúce a my samozrejme budeme chcieť error správu zobraziť. Trik spočíva v tom, že musíme zavolať metódu input() a parametrom určiť, aby vygenerovala input textarea

echo $form->input(‚text‘,a­rray(‚type‘=>‚tex­tarea‘));

V tomto prípade všetko funguje správne a v prípade, že textarea neprejde validáciou, CakePHP správne vygeneruje HTML kód aj s error správou

<textarea name=„data[Ar­ticle][text]“ cols=„10“ rows=„10“ id=„ArticleIn­troText“ class=„form-error“ ></textarea><div class=„error-message“>This field cannot be left blank</div>
VN:F [1.8.3_1051]
Rating: 0.0/5 (0 votes cast)