A simple mailform written by PHP
このページではTerrierの入力項目に対するバリデーションの設定について解説しています。
各入力項目に対する設定を配列要素として定義していきます(ここだけPHPを書く必要があります)。
入力フィールド名(input要素のname属性の値)を配列のキーとします。そのため、日本語フィールド名は推奨されません。
一つのフィールドに対する定義項目は以下の通りです。
"label"
- 項目名を文字列で指定します。バリデーションエラーや送信時のフィールド名として使用されます。"rules"
- 検証ルールを配列で指定します。ルールの詳細は次を参照してください。"reply"
- このフィールドを自動返信対象にします。値はメールアドレスの形式である必要があります。例えば、自動返信を行なうメールアドレスの検証フィールドを作る場合、以下のようになります。
// HTML
<input type="email" name="email" value="">
// setting.php
$setting['email'] = array(
'label' => 'メールアドレス',
'reply' => true, // 自動返信指定
'rules' => array(
'required',
'valid_email',
'max_length@100'
)
);
検証ルールは以下が標準で実装されています。ルールには、検証に成功したかどうか(true/falseを返却するもの)と、値を加工するものがあります。また、"@"
続いて検証パラメータを渡すものがあります。例えば10文字以内に制限する場合、検証ルールは"max_length@10"
と記述します。検証パラメータは":"
区切りで複数渡すものもあります。
"alnum"
- 値が半角英数のみかどうかを検証します。"alnum_dash"
- 値が半角英数、"-"
、"_"
のみかどうかを検証します。"alpha"
- 値が半角英字のみかどうかを検証します。"alpha_dash"
- 値が半角英字、"-"
、"_"
のみかどうかを検証します。"alpha_lower"
- 値が半角英小文字のみかどうかを検証します。"alpha_upper"
- 値が半角英大文字のみかどうかを検証します。"dateformat"
- 値が時刻形式として妥当かどうかを検証します。日付の区切りをオプションパラメータで指定できます(初期値は"-"
)。"exact_date"
- 妥当な日付かどうかを検証します。例えば、"2014-09-32"
などは検証に失敗します。日付の区切りをオプションパラメータで指定できます(初期値は"-"
)。"future_date"
- 現在よりも未来の日付かどうかを検証します。"past_date"
- 現在よりも過去の日付かどうかを検証します。"max_length"
- 値が指定文字数以内どうかを検証します。追加パラメータで文字数を指定します。"min_length"
- 値が指定文字数以上どうかを検証します。追加パラメータで文字数を指定します。"exact_length"
- 値が指定文字数に一致するかどうかを検証します。追加パラメータで文字数を指定します。"numeric"
- 値がPHPにおける数値として判定可能かどうかを検証します("is_numeric()"
関数で検証)。"range"
- 値が指定範囲内の数値かどうかを判定します。追加パラメータは2つ必要です。"required"
- 値が入力されているかどうかを検証します。"expects"
- 値が指定した文字列リストに存在するかどうかを検証します。"blank"
- 値が空文字かどうかを検証します。"valid_email"
- 値がメールアドレスとして妥当な形式かどうかを検証します。"valid_url"
- 値がURLとして妥当な形式かどうかを検証します。"ctype"
- 値が半角数字のみかどうかを検証します。"unsigned"
- 値が正の整数かどうかを検証します。"regex"
- 値が正規表現にマッチするかどうかを検証します。追加パラメータに正規表現を指定します。"zipcode"
- 値が郵便番号形式("XXX-XXXX"
)として妥当かどうかを検証します。"matches"
- 値がもう一方の値を一致するかどうかを検証します。"hiragana"
- 値がひらがなのみであるかどうかを検証します。"kana"
- 値がカタカナのみであるかどうかを検証します。"conv_kana"
- 全角カタカナを半角カタカナに変換します。"conv_num"
- 全角数字を半角数字に変換します。