Zobrazenie error správ pre intput textarea
publikované: od: Tibor PiňoV 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[Article][text]“ cols=„10“ rows=„10“ id=„ArticleIntroText“ 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‘,array(‚type‘=>‚textarea‘));
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[Article][text]“ cols=„10“ rows=„10“ id=„ArticleIntroText“ class=„form-error“ ></textarea><div class=„error-message“>This field cannot be left blank</div>