fulephpでの独自バリデーション

fuelphp1.7で独自バリデーションクラスを作ったので忘れないようにメモ。

独自のバリデーションを利用したい場合は、
/fuel/app/classes/controller/
直下にバリデーションクラスを記述したファイルを設置する。

自分が設置したファイルは
/fuel/app/classes/controller/myvalidation.php

「_validation_」 というプレフィックスをつけてメソッドを用意する。

ファイルの中身はこんな感じ

<?php
class MyValidation
{
    /**
     * 必須チェック
     * @param array $val
     * @param int $min 最低チェック数
     * @param int $max 最高チェック数
     * @return boolean
     */
    public static function _validation_checkbox_require($val, $min=1, $max=3)
    {
        if (count($val) >= $min && count($val) <= $max)
        {
            return true;
        }
        return false;  
    }
}

コメントを編集する場合は、
/fuel/app/lang/ja/validation.php
に追加

<?php
return array(
    'checkbox_require'  => ':labelを :param:1 つ以上、:param:2 つ以下で選択して下さい。',
);


呼び出すとき

<?php
    $validation = \Validation::forge();
    //独自バリデーションクラスを呼び出し
    $validation->add_callable('MyValidation');
    $validation->add('check' , 'チェックボックス')->add_rule('checkbox_require',1,3);


簡単だったね( ^ω^)