読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

CakePHPでエラー箇所を目立たせる

PHP


CakePHPでvalidateを使ったエラーチェックした時に、エラー箇所を目立たせるためのメモ


formヘルパーで次のようにテキストボックスを表示

<?php
echo $form->text('name')
?>

この場合の通常で生成されるHTMLはこんな感じ

<input name="data[Hoge][name]" type="text" maxlength="100" id="HogeName">


で、validateを使ってエラーが発生した場合は次のようなHTMLが生成されます。

<input name="data[Hoge][name]" type="text" maxlength="100" id="HogeName" class="form-error">

自動で class="form-error" が追加されてます。


なので、form-error をスタイルシートで設定すれば解決ですね。

.form-error {
    border: 1px solid red;
}

これでエラー箇所のテキストボックスに赤枠がつきます。



ついでに、
もしも、form-error っていうクラス名が気に入らない場合は、/cake/libs/view/helper.php にある _initInputField という関数で設定しているので、そこを修正すればクラス名が変更されます。
CakePHP本体に手を入れるのは気が引けるので、オレはやりませんが。