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...