2011年01月07日

Cakeplus.ValidationErrorI18nが便利すぎて泣いた

お願いします♪いいねとかつぶやいたりして下さい
 
今回はあえて Laboモデルに書いたけど、本当、appモデルで全て読み込んでもいいのかもしれない。

cakephper大先生の
http://d.hatena.ne.jp/cakephper/20090909/1252461412

これ、使ってびっくり。
○モデル
<?
class Labo extends AppModel {
    
    var $actsAs = array(
        'Containable',
        'Cakeplus.AddValidationRule',
        'Cakeplus.ValidationErrorI18n',
    );
    
    var $useTable = false;
    
    var $validate = array(
        'title' => array(
            "titleng" => array('rule' => array('minLengthJP', 5),
                
        )
    )
    );
    
//ここから下が、ValidationErrorI18n独自の設定
    public function __construct($id = false, $table = null, $ds = null){
        parent::__construct($id, $table, $ds);
        
        //ここにエラー文を入力しておけば、その通りのエラー文を表示してくれる。
        $errorMessages = array(
            'titleng' => __('タイトル入力してよね!',true),
        );
        $this->setErrorMessageI18n($errorMessages);
    }
    
    public function beforeValidate(){
        $this->replaceValidationErrorMessagesI18n();
        return parent::beforeValidate();
    }

}

?>


こうやれば全てのモデルで、指定したエラー文を吐き出してくれるのでいちいち書き直さなくて良い。
これは汎用性が高いかも。
もっと速く知れば良かった。

にしてもうまいプログラマーはソースコードがすさまじく簡潔だな。
関連するタグ: PHP cakephp
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ