$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 は入力必須項目です。',
);
0コメント