Ejemplo n.º 1
0
 /**
  * validationを実施してtrue or falseを返します。<br/>
  * 第1引数の$validationにadd_ruleなどした状態で指定してください。<br/>
  * <br/>
  * GET値のバリデーションの場合は、第2引数に配列でキーと値をセットしてください。<br/>
  * GET例:$get_parameter = array('hoge' => Input::get('hoge'),'fuga' => Input::get('fuga'));<br/>
  * <br/>
  * バリデーションエラー時はエラーログに入力値内容などを出力し、<br/>
  * プロパティのmessageにエラー内容を文字列で設定します。<br/>
  * 呼び出し元でエラーメッセージを利用したければself::$messageを利用してください。<br/>
  * self::$error_arrayでjson出力用エラーを設定します。<br/>
  * {
  *   "status": 400,
  *   "message": "validation error",
  *   "error": [
  *     {
  *       "field": "hoge",
  *       "message": "The field hoge is required and must contain a value."
  *     },
  *     {
  *       "field": "fuga",
  *       "message": "The field fuga is required and must contain a value."
  *     }
  *   ]
  * }
  * @param Fuel\Core\Validation $validation
  * @param array $get_parameter
  * @return boolean
  */
 public static function validation(Fuel\Core\Validation $validation, array $get_parameter = null)
 {
     if ($validation->run($get_parameter)) {
         return true;
     }
     # 以下、validation_error発生処理
     self::$message = "validation error";
     $count = 0;
     $log = null;
     foreach ($validation->error() as $key => $value) {
         $log .= "{$key}=>{$value},";
         self::$error_array[$count]['field'] = $key;
         self::$error_array[$count]['message'] = $value->get_message();
         $count++;
     }
     $log = "[validation error]" . rtrim($log, ",");
     Log::error($log);
     return false;
 }