validation 時、rule 別にエラーメッセージを切り替える方法
cake1.2の話
CakePHP では view で エラーメッセージを指定することで
任意のエラーメッセージを出力できます。
{$form->error('name', 'ちょwww名前wwwww')}
rule が一つの場合ならこれでも問題ないのですが、
メールアドレスの validation など、
入力が無い場合と入力値が不適切な場合で
違うエラーメッセージを表示したい場合には
view だけでは実現できません。
そんな時には
model の $validate を以下のように指定すれば OK です。
class User extends AppModel { var $name = 'User'; var $validate = array( 'name' => array( 'rule'=>VALID_NOT_EMPTY, 'message'=>'名前を入力してください' ), 'email' => array( array( 'rule'=>VALID_EMAIL, 'message'=>'メールアドレスが不適切です。' ), array( 'rule'=>VALID_NOT_EMPTY, 'message'=>'メールアドレスを入力してください' ), ), 'comment' => array( 'rule'=>VALID_NOT_EMPTY, 'message'=>'コメントを入力してください' ), ); }
manual には書いてないけど、ソースには書いてありました。
よくありますね、こういうこと。