参考にさせて頂いたページ
FormHelper — CakePHP Cookbook 2.x ドキュメント
やりたいこと
バリデーションエラーがあったinput要素に対して、CSSのクラスを付け替えて色を変えたり、HTML要素を表示したい。
任意のctpに記述する内容
例として以下の通り。
<?php if ($this->Form->isFieldError('example')) { ?> <div>name="example"のinput要素がバリデーションエラーのときに表示される領域</div> <?php } ?>
上記の例では、name="example"の要素にバリデーションエラーがあるかどうかを、$this->Form->isFieldError('example')
で取得しています。
これで、エラーのときだけ好きな箇所に要素を表示したり、CSSのクラスを付けたりできます。
おまけ
CSSのクラス名や、クラスを付与する要素にこだわらない場合は、form-errorクラスが自動的にinput要素やtextarea要素に付与されるため、それを利用したCSSを書くとViewがきれいですね。