Validation クラス

Validation クラスは、ユーザ入力をバリデーションする際の手助けをします。 フォームの生成とバリデーションを同時にしたい場合は、代わりに Fieldset クラスを使用してください。

Class Methods

forge($fieldset = 'default')

forge メソッドは、Validation クラスの新しいインスタンスを生成します。 また、与えられた Fieldset とリンクされます。

静的 はい
パラメータ
パラメータ デフォルト 説明
$fieldset string | Fieldset
'default'
リンクする Fieldset の名前もしくはインスタンス
返り値 Validation object
例外 \DomainException, when the Fieldset name or instance already has a related Validation instance.
// 新しい Validation インスタンスを生成
$val = Validation::forge();

// fieldset 名を使って、新しい Validation インスタンスと Fieldset を関連づける
$val = Validation::forge('my_fieldset');

// fieldset インスタンスを渡して、新しい Validation インスタンスと Fieldset を関連づける
$fieldset = Fieldset::instance('my_fieldset');
$val = Validation::forge($fieldset);

instance($name = null)

instance メソッドは、$name 識別子が付与された Fieldset インスタンス、 もしくはデフォルトの Fieldset (必要とされている場合)、 このどちらかと関連付けられた Validation インスタンスを返します。

静的 はい
パラメータ
パラメータ デフォルト 説明
$name string
null
返してほしい Validation インスタンスに属する Fieldset の名前
返り値 Validation オブジェクト
または指定した Fieldset インスタンスが存在しなかった場合 false
// デフォルト Fieldset の Validation インスタンスを取得
$val = Validation::instance();

// 特定の Fieldset の Validation インスタンスを取得
$val = Validation::instance('my_fieldset');

active()

active メソッドは現在アクティブな Validation インスタンスを返します。

静的 はい
パラメータ None
返り値 Validation - 現在アクティブな Validation インスタンス
// 現在アクティブな Validation インスタンスを取得
$val = Validation::active();

active_field()

active_field メソッドは 現在バリデーションされているフィールドを返します。

静的 はい
パラメータ None
返り値 Fieldset_Field - 現在バリデーションされているフィールド
// 現在バリデーションされているフィールドを取得
$field = Validation::active_field();

fieldset()

fieldset メソッドは関連づけられた Fieldset を返します。

静的 No
パラメータ None
返り値 Fieldset - 関連づけられた Fieldset
// 関連づけられた Fieldset を取得する
$val = Validation::forge('my_fieldset');
$fieldset = $val->fieldset();

add_field($name, $label, $rules)

add_field メソッドは add() メソッドのよりシンプルなエイリアスです。フィールドの名前、ラベル、ルールをワンステップで指定できます。

静的 No
パラメータ
パラメータ デフォルト 説明
$name string
None
バリデーションのルールを割り当てるフィールドの名前
$label string
None
フィールドのラベル
$rules mixed
None
角括弧でくくられたカンマ区切りのルールパラメータが付いた (オプション) 、バリデーションルールのセット。 縦棒かパイプ記号 (|) で区切られた文字列として渡してもよいし、配列として渡してもよい。
返り値 Fieldset_Field
// 異なるタイプのフィールドに対するルールの設定
$val->add_field('username', 'Username', 'required|trim|valid_string[alpha,lowercase,numeric]');
$val->add_field('email', 'Email', 'required|trim|valid_email');
$val->add_field('age', 'Age', 'valid_string[numeric]');

// 配列としてルールを渡す
$val->add_field('username', 'Username', array('required', 'trim', 'valid_string[alpha,lowercase,numeric]'));

set_message($rule, $message)

set_message メソッドは、このバリデーションインスタンスに設定された language ファイルのメッセージ文を上書きします。使いたいルールにメッセージ文が設定されていない場合にも便利です。

静的 No
パラメータ
パラメータ デフォルト 説明
$rule string
None
このメッセージを割り当てたいルールの名前
$message string | null
None
文字列を渡せばこのルールへのメッセージ文となる。null を渡すと language ファイルのメッセージ文に戻る
返り値 Validation instance
// required ルールのメッセージを上書き
$val->set_message('required', 'You have to fill in your :label so you can proceed');
// .. 用が済んだら、デフォルトのメッセージ文に戻す
$val->set_message('required', null);
// 作ったカスタムルールに対するメッセージ文
$val->set_message('custom_rule', 'The :label you entered is previously registered. Please choose another one');

get_message($rule)

get_message メソッドは、このバリデーションインスタンスのための特定のエラーメッセージ文を取得します。set_message メソッドを介して設定されたメッセージ文のみが返されます。

静的 No
パラメータ
パラメータ デフォルト 説明
$rule string
None
取得したいメッセージ文のルールの名前
返り値 string
// required ルールのメッセージ文を上書き
$val->set_message('custom_rule', 'The :label you entered is previously registered. Please choose another one');
// .. その後か、他のどこかでこのメッセージ文を取得
$val->get_message('required', null);

add_callable($class)

add_callable メソッドは、独自、もしくは拡張されたバリデーションルールのセットを追加します。クラス名となる文字列を書けばよく、全てのコールバックを書く必要はありません。新しいクラスが追加されるため、このオブジェクトから機能を上書きすることも可能です。

静的 No
パラメータ
パラメータ デフォルト 説明
$class string|Object
None
文字列で表記したクラス名、もしくはオブジェクトの名前
返り値 Validation インスタンス

$val->add_callable('myvalidation');

このメソッドの使い方と、必要とされるクラスの完全な例については Validation クラスを拡張する を参照してください。

remove_callable($class)

remove_callable メソッドは callable 配列から指定した callable を削除します。

静的 No
パラメータ
パラメータ デフォルト 説明
$class string|Object
None
文字列で表記したクラス名、もしくはオブジェクトの名前
返り値 Validation インスタンス
$val->remove_callable('myvalidation');

callables()

The callables method fetches the objects for which you don't need to add a full callback but just the method name

静的 No
パラメータ None
返り値 array

More coming soon...