ARTISAN PROJECT ValidatorMagic
[ class tree: ValidatorMagic ] [ index: ValidatorMagic ] [ all elements ]

Class: ValidatorMagic

Source Location: /ValidatorMagic/vm/ValidatorMagic.php

Class ValidatorMagic

Class Overview

雑多な入力検証を提供する入力検証クラス。

よく使う入力検証の機能を集めました。
エラーがあれば、エラーオブジェクトを返します。
エラークラスをバンドルしていますが、オリジナルの物を使用することもできます。

バリデータのリスト

  • "number" => 数値かどうか。小数点も許容します。(OPTION:なし)
  • "naturalnumber" => 整数かどうか。0も許容します。(OPTION:なし)
  • "integer" => 数字かどうか。小数点は使用出来ません(OPTION:なし)
  • "numbermax" => 数値の最大(OPTION:最大数)
  • "numbermin" => 数値の最小(OPTION:際少数)
  • "alphabet" => アルファベットかどうか(OPTION:なし)
  • "alphabetornumber" => アルファベットもしくは数字かどうか(OPTION:なし)
  • "rome" => ローマ字区域(半角英語+半角数字+半角記号)の文字列か(OPTION:半角化するか)
  • "maxlen" => 最大文字数(OPTION:最大数)
  • "minlen" => 最小文字数(OPTION:最小数)
  • "maxwidth" => 最大文字幅。全角2半角1(OPTION:最大数)
  • "minwidth" => 最小文字幅。全角2半角1(OPTION:最少数)
  • "blank" => 空白かどうか(OPTION:なし)
  • "noblank" => 空白でないか(OPTION:なし)
  • "nosubmit" => 送信されているか(OPTION:なし)
  • "encoding" => 文字のエンコーディング(OPTION:エンコード名)
  • "notags" => タグが含まれていないか(OPTION:なし)
  • "depend" => 機種依存文字が含まれていないか(OPTION:なし)
  • "mailformat" => メールフォーマットの文字列になっているか(OPTION:なし)
  • "mailsimple" => simpleなメールフォーマットチェック
  • "mail" => ドメインも確認(OPTION:なし)
  • "hiragana" => ひらがなか(OPTION:カタカナをひらがなに直すか)
  • "katakana" => カタカナか(OPTION:ひらがなをカタカナに直すか)
  • "hfurigana" => ひらがなのふりがなか(OPTION:カタカナをひらがなに直すか)
  • "kfurigana" => カタカナのフリガナか(OPTION:ひらがなをカタカナに直すか)
  • "urlformat" => URLフォーマットの文字列になっているか(OPTION:なし)
  • "url" => ドメインも確認(OPTION:なし)
  • "telephone" => 電話番号のフォーマットになっているか
  • "postcodeformat" => 郵便番号のフォーマットになっているか(OPTION:なし)
  • "whitelist" => ホワイトリストに含まれているか(OPTION:ホワイトリストの配列)
  • "date" => YYYYMMDD形式のデータもしくは配列が、日付フォーマットになっているか(OPTION:array("year" => "年の配列キー","month" => "月の配列キー","day" => "日の配列キー"))
  • "time" => 時間フォーマットになっているか(OPTION:時間のフォーマット。定数参照)
  • "array" => 配列か(OPTION:なし)
  • "notarray" => でないか配列か(OPTION:なし)
  • "arraykeyexists" => 配列の中に指定されたキーが入っているか
  • "arraynumber" => 配列の中身は全て数字か(OPTION:なし)
  • "arraynumbermax" => 配列の中身の数字の合計最大(OPTION:最大数)
  • "arraynumbermin" => 配列の中身の数字の合計最小(OPTION:最小数)
  • "arraycountmax" => 配列の数の最大(OPTION:最大数)
  • "arraycountmin" => 配列の数の最小(OPTION:最小数)
  • "arrayunique" => 配列の値がuniqueかどうか(空文字列・NULLはuniqueチェックから省くかどうか)
  • "maxbr" => 改行数の最大(OPTION:最大数)
  • "minbr" => 改行数の最小(OPTION:最小数)
  • "dirpath" => 存在するディレクトリパスか(OPTION:なし)
  • "file" => 存在するファイル化(OPTION:なし)
  • "ereg" => ルビー互換の正規表現にマッチするか(OPTION:正規表現)
  • "preg" => パール互換の正規表現にマッチするか(OPTION:正規表現)

Located in /ValidatorMagic/vm/ValidatorMagic.php [line 139]



		
		
		
		

Properties

Methods

[ Top ]
Direct descendents
Child Class Description
EnviMVC_ValidatorManagerBase ValidatorMagicを継承して使用する、validator基底クラス。

[ Top ]
Property Summary
array   $chain_format   バリデーションチェインのフォーマット
string   $error_class   エラーを受け取るクラス名
string   $error_class_path   エラーを受け取るクラスファイルパス
string,bool   $error_list_file   エラーのリストを格納しているファイル名

[ Top ]
Method Summary
void   ValidatorMagic()   コンストラクタ
void   autoPrepare()   バリデート機能定義(自動)
void   chain()   検証に使用するバリデータを鎖状につなぎます。
array,object   execute()   実行するバリデータチェイン名を指定して実行
array,object   executeAll()   すべて実行
void   free()   初期化
array   getChainFormat()   チェインのフォーマットを返します
bool   isError()   バリデート結果がエラーかどうかを判断する
void   prepare()   バリデート機能定義(手動)
void   registerValidators()   ユーザー定義のバリデータを追加する
void   setChainFormat()   チェインのフォーマットを作成します
void   setEmptyFormData()   空欄フォームの標準値を設定する
void   setErrorObject()   エラーオブジェクトを直接指定する
void   unchain()   バリデータの使用をキャンセルする
bool   validation()   簡単にバリデートする

[ Top ]
Properties
array   $chain_format = array() [line 198]

バリデーションチェインのフォーマット

バリデーションチェインの既定値グループを登録します。
何度も同じチェインを使用する場合などに便利です。
直接配列で指定可能ですが、メソッドを呼び出して簡単に登録することもできます。

API Tags:
See:  getChainFormat();
See:  setChainFormat();


[ Top ]
string   $error_class = "ValidatorMagicError" [line 150]

エラーを受け取るクラス名

入力検証で、エラーになった場合に呼び出されるエラー処理クラス名。

API Tags:
See:  chain();


[ Top ]
string   $error_class_path = "ValidatorMagicError.php" [line 160]

エラーを受け取るクラスファイルパス

エラー処理クラスへのパス。

API Tags:
See:  chain();


[ Top ]
string,bool   $error_list_file = "error_list.ini" [line 171]

エラーのリストを格納しているファイル名

エラーハンドリングクラスインスタンス作成時に、第一引数として渡されます。 falseをしまうと、引数指定無しでインスタンスを作成します。

API Tags:
See:  chain();


[ Top ]
Methods
Constructor ValidatorMagic  [line 296]

  void ValidatorMagic( )

コンストラクタ



[ Top ]
autoPrepare  [line 419]

  void autoPrepare( string,array $validation_name, string|array $validator, [int|string $error_code = 0], [bool $validator_chain = true], [bool $trim = false], [integer|boolean $post_only = 3], [mix $validate_mode = false]  )

バリデート機能定義(自動)

検証する入力データを自動で取得・定義して、新規にバリデータにかけます。
デフォルト取得されるデータは、$_POST・$_GETの両方からサーチします。
$post_only に
VM_METHOD_GET(GETのみ)
VM_METHOD_POST(POSTのみ)
VM_METHOD_POST|VM_METHOD_GET(両方/デフォルトはこれ)
を指定することで、受け取るデータに制限をかける事が出来ます。
※上位互換のため、bool型もサポートしていますが、これは推奨されません。

Parameters:
string,array   $validation_name: 
バリデートするフォームデータ名。
 array("バリデートするフォームデータ名" => フォーム名)
 配列を指定することで、フォーム名をつけることができます。
 フォーム名は、エラー発生時にエラークラスに渡されます。
string|array   $validator:  バリデータ名,$this->getChainFormat()の結果
int|string   $error_code:  エラーコード
bool   $validator_chain:  エラーがあった場合に確認処理を継続するか
bool   $trim:  入力検証データをtrimするかどうか
mix   $validate_mode:  バリデータオプション
integer|boolean   $post_only:  VM_METHOD_POST = POSTのみ VM_METHOD_GET = GETのみ VM_METHOD_POST|VM_METHOD_GET = POSTかGETのどちらか。

API Tags:
See:  prepare();


[ Top ]
chain  [line 505]

  void chain( string $validation_name, string $validator, [int,string $error_code = 0], [bool $validator_chain = true], [bool,string,int,array $validate_mode = false]  )

検証に使用するバリデータを鎖状につなぎます。

ひとつの入力データに対して、複数のバリデータを使いたい場合に使用します。
バリデータはchain()で呼び出された順番に、実行されます。

Parameters:
string   $validation_name:  バリデートするフォームデータ名
string   $validator:  バリデータ名
int,string   $error_code:  エラーコード
bool   $validator_chain:  エラーの場合につなげてバリデート処理を行うか
bool,string,int,array   $validate_mode:  バリデータオプション


[ Top ]
execute  [line 311]

  array,object execute( string,array $validation_name, [bool $object_clean = TRUE]  )

実行するバリデータチェイン名を指定して実行

入力検証を実行しエラークラス、もしくは、保証されたデータを受け取ります。
isError()メソッドでエラーのチェックを行えます。

Parameters:
string,array   $validation_name:  バリデートするフォームデータ名
bool   $object_clean:  エラーオブジェクトを毎回空にするか

API Tags:
See:  ValidatorMagic::isError()


[ Top ]
executeAll  [line 372]

  array,object executeAll( )

すべて実行

入力検証を全て実行しエラークラス、もしくは、保証されたデータを受け取ります。
isError()メソッドでエラーのチェックを行えます。


API Tags:
See:  ValidatorMagic::isError()


[ Top ]
free  [line 619]

  void free( )

初期化

ValidatorMagicの初期化をします。
全てのエラー、チェインは空になります。



Redefined in descendants as:

[ Top ]
getChainFormat  [line 571]

  array getChainFormat( string $group  )

チェインのフォーマットを返します

setChainFormat()メソッドなどで指定された、フォーマットを返します。


1 $vm->autoPrepare(array("mail" => "メールアドレス", $vm->getChainFormat("mail"));
2 $res = $vm->execute("mail");
3 var_dump($vm->isError($res));
4
5 return bool

Parameters:
string   $group:  フォーマットグループ名

API Tags:
See:  autoPrepare();
See:  prepare();
See:  setChainFormat();


[ Top ]
isError  [line 605]

  bool isError( object,string,int,array $result  )

バリデート結果がエラーかどうかを判断する

バリデート結果がエラーかどうかを判断し、実行結果はエラーの場合に、TRUEを返します。

Parameters:
object,string,int,array   $result:  execute()・executeAllの結果


[ Top ]
prepare  [line 449]

  void prepare( string,array $validation_name, string,array $validator, string,bool,object,array,string,int $validation_data, [int,string $error_code = 0], [bool $validator_chain = true], [bool,string,int,array $validate_mode = false], bool $trim, bool $post_only  )

バリデート機能定義(手動)

検証する入力データを手動で取得・定義して、新規にバリデータにかけます。

Parameters:
string,array   $validation_name: 
バリデートするフォームデータ名。
 array("データ名" => "フォーム名")
 配列を指定することで、フォーム名をつけることができます。
 フォーム名は、エラー発生時にエラークラスに渡されます。
string,array   $validator:  バリデータ名,$this->getChainFormat()の結果
int,string   $error_code:  エラーコード
bool   $validator_chain:  エラーがあった場合に確認処理を継続するか
bool   $trim:  入力検証データをtrimするかどうか
bool   $post_only:  TRUEで、POSTのみ取得
bool,string,int,array   $validate_mode:  バリデータオプション
string,bool,object,array,string,int   $validation_data:  バリデートするデータ

API Tags:
See:  autoPrepare();


[ Top ]
registerValidators  [line 483]

  void registerValidators( string $validator_name, string $function_name  )

ユーザー定義のバリデータを追加する

execute()実行時に、
userFunction([検証されるデータ], [指定されたオプション]);
の形で、指定された関数にわたります。
ユーザー定義関数からは、正しい場合true・間違っている場合falseを返してください。

Parameters:
string   $validator_name:  読み出しに使用するバリデータ名
string   $function_name:  関数名


[ Top ]
setChainFormat  [line 536]

  void setChainFormat( string $group, string $validator, [string,int $order = "AUTO"], [int,string $error_code = 0], [bool $validator_chain = true], [bool,string,int,array $validate_mode = false]  )

チェインのフォーマットを作成します

入力検証のフォーマットを作成して、簡単に再利用可能にします。

Parameters:
string   $group:  フォーマットグループ名
string   $validator:  バリデータ名
string,int   $order:  チェインされる順番
int,string   $error_code:  エラーコード
bool   $validator_chain:  エラーの場合につなげてバリデート処理を行うか
bool,string,int,array   $validate_mode:  バリデータオプション

API Tags:
See:  ValidatorMagic::getChainFormat()


[ Top ]
setEmptyFormData  [line 661]

  void setEmptyFormData( object $empty_form_data  )

空欄フォームの標準値を設定する

Parameters:
object   $empty_form_data: 


[ Top ]
setErrorObject  [line 649]

  void setErrorObject( object &$error_obj  )

エラーオブジェクトを直接指定する

Parameters:
object   &$error_obj: 


[ Top ]
unchain  [line 587]

  void unchain( $validation_name $validation_name, $validator $validator  )

バリデータの使用をキャンセルする

一度チェインされたバリデータの使用をキャンセルします。
全てのチェインを消す場合は、free()メソッドが高速です。

Parameters:
$validation_name   $validation_name:  バリデーション名
$validator   $validator:  キャンセルするバリデータ

API Tags:
See:  ValidatorMagic::free()


[ Top ]
validation  [line 636]

  bool validation( string $validator, string,arrray $data, string,array $option  )

簡単にバリデートする

入力データを簡単に検証します。 正しければ、TRUE違っていれば、FALSEを返します。

Parameters:
string   $validator:  使用するバリデータ
string,arrray   $data:  バリデータにかけるデータ
string,array   $option:  バリデータオプション


[ Top ]

Documentation generated on Thu, 04 Jan 2007 17:47:23 +0900