$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

symfony 1.4でフォームのデフォルトエラーメッセージを変更する方法について

 symfony 1.4でエラーメッセージのデフォルト設定を変える方法がわかりにくかったので、メモしておきます。

 symfony 1.4になる前はsfValidatorBaseクラスのsetRequiredMessage() と setInvalidMessage() メソッドを利用すればデフォルトエラーメッセージを変更できたのですが、1.4で仕様が変更されたようです。symfony 1.4では、setDefaultMessageメソッドを以下のように使います。

sfValidatorBase::setDefaultMessage('required', 'この項目は必須です。');
sfValidatorBase::setDefaultMessage('invalid', '入力された項目は間違っています。');

また、この設定はバリデータが作られる前に設定しないといけないため、コンフィギュレーションクラス(ProjectConfiguration.class.phpみたいなファイル)に書くとよいそうです。これで、すべてのフォームクラスのデフォルトエラーメッセージが変更されます。