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