$val = Validation::forge('create');

$val->add('password', 'パスワード')

  ->add_rule('required')

  ->add_rule('min_length', 8)

  ->add_rule('max_length', 12)

  ->add_rule('valid_string', array('alpha','numeric','dashes','utf8'));

if ($val->run()) {

 // 成功

}

else {

 // 失敗

 Session::set_flash('error', $val->error());

}


・add(フィールド名, ラベル名)

 フィールド名:inputタグ等のname

 ラベル名  :バリデーションメッセージを表示する際の項目名


・add_rule(規則名, パラメータ)

 規則名       パラメータ         説明

 -------------------------------------------------------------------------------------------------------

 required      なし            必須項目

 match_value    $compare,$strict     $compareに対象値が一致しているか。

                      $strict=falseの場合、==で比較。

                      $strict=trueの場合、===で比較。

 match_pattern   $pattern         Perl互換の正規表現にマッチしているか。

 match_field    $field            $fieldの値と等しいか。比較は===。

 min_length    $length          指定文字数以上か。

 max_length    $length          指定文字数以下か。

 extact_length   $length          指定文字数か。

 valid_email    なし            email形式か。

 valid_emails     なし            emailのカンマ区切り列挙か。

 valid_url      なし           URL形式か。

 valid_ip      なし           IP形式か。

 numeric_min   $min_val         指定数値以上か。

 numeric_max   $max_val         指定数値以下か。

 numeric_between $min_val,$max_val    指定範囲内の数値か。

 valid_string    $flags          許可する文字種の配列が含まれているか。※下記参照

 required_with   $field          $fieldが入力されている場合に、対象フィールドも入力されているか。

 valid_date     なし          日付形式か。


 ※valid_string で指定する文字種

 文字種        説明

 ------------------------------------------------------------

 alpha         アルファベット

 uppercase       大文字アルファベット(alphaと併用)

 lowercase       小文字アルファベット(alphaと併用)

 numeric        数字

 spaces         スペース

 newlines        改行コード

 tabs          タブ

 dots          ドット、ピリオド

 punctuation       区切り文字(.,!?:;)

 dashes         - と _

 utf8          正規表現にutf8就職しの付加(/u)


・エラーメッセージの日本語化

 ・app/config/config.php を下記のとおり設定する。

  'language' => 'ja',


 ・core/lang/en/validation.php を app/lang/ja へコピーする。

 

 ・validation.php を編集する。

  <?php

  return array(

   'required' => ':label は入力必須項目です。',

   'min_length' => ':label は :param:1 文字以上にしてください。',

   'max_length' => ':label は :param:1 文字以下にしてください。',

   'exact_length' => ':label は :param:1 文字にしてください。',

   'match_value' => ':label が :param:1 と一致しません。',

   'match_pattern' => ':label の形式が異なります。',

   'match_field' => ':label が :param:1 と異なります。',

   'valid_email' => ':value を正しいメールアドレスの形式にしてください。',

   'valid_emails' => ':label を正しいメールアドレスの形式にしてください。',

   'valid_url' => ':label を正しいURLの形式にしてください。',

   'valid_ip' => ':label を正しいipの形式にしてください。',

   'numeric_min' => ':label の値は :param:1 以上にしてください。',

   'numeric_max' => ':label の値は :param:1 以下にしてください。',

   'valid_string' => ':label に不正な文字が含まれています。',

   'required_with' => ':label は入力必須項目です。',

  );


via System Development Tips
Your own website,
Ameba Ownd