スニペット"FormLister":外部の検証(チェック)を実行/定義(カスタマイズ)
外部の検証(チェック)を実行
&rulesパラメーターのcustomプロパティを使用した外部の検証(チェック)を実行するには、functionプロパティに予め &dirパラメーターで読み込まれたクラスのメソッドを指定します。
構文
値 | 説明 |
---|---|
メソッド名 | &dirパラメーターで読み込まれたクラスのメソッド名。\\名前空間\\クラス名::メソッド名 で指定する。 |
引数 | メソッドに渡す引数。 文字列あるいは数値で指定した場合はそのまま第三引数へ、配列で指定した場合は第三引数以降の引数として展開される。 配列として渡したい場合は二次元配列として指定する。 引数を渡す必要がなければparamsプロパティは不要。 |
メッセージ | エラー時に表示するメッセージ。 |
サンプルコード
次の例では、\\FormLister\\Register::uniqueUsernameという検証機能を実行します。
ちなみにuniqueUsernameメソッドは、フィールドの値がウェブユーザーとして登録されていないかを検証します。
外部の検証(チェック)を定義
&dirパラメーターで指定されているディレクトリにPHPファイルを作成します。
外部から実行できるようにするため、staticキーワードを使用してメソッドを定義します。
定義
Foo.php
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 | $fl | object | フィールドの操作を行うオブジェクト。 getFieldメソッドでフィールドの値を取得するなど様々なメソッドが用意されている。 詳しくは、フィールドの操作の機能についてを参照。 |
第二引数 | $value | string | |
第三引数以降 | $argN | any | paramsプロパティから受け取る。 paramsプロパティの指定の仕方によって受け取り方が多少異なる。 3 ... 第三引数でintegerとして受け取る "abc" ... 第三引数でstringとして受け取る [1, 2] ... 第三引数、第四引数で受け取る [ ["foo", "bar"] ] ... 第三引数でarrayとして受け取る |
結果(戻り値)
boolean値で返します。
検証に合格する場合はtrue
、エラーにする場合はfalse
を返すようにします。
実行
フィールドの操作の機能について
定義するメソッドの第一引数のフィールド操作を行うためのオブジェクトには次のメソッドが用意されています。
getField:フィールドの値を取得
フィールドの値を取得するには、$fl->getField
メソッドを使用します。
構文
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
フィールド名 | string | 取得したいフィールドの名前。 |
第二引数 | 初期値 | any | フィールドに値がなかった場合の初期値。 |
戻り値
取得したフィールドの値を返します。
初期値を指定した場合は、フィールドに値がなかった場合に指定した初期値を返します。
サンプルコード
fieldExists:フィールドの存在判定
フィールドが存在するか判定するには、$fl->fieldExists
メソッドを使用します。
構文
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
フィールド名 | string | 判定するフィールドの名前。 |
戻り値
存在した場合はtrue、存在しなかった場合はfalseを返します。