/** * modify input value before validation * * @param array $input Assoc array of input fields and values * @param bool $allow_partial If false, all fields that have validation rules defined MUST be present in the input * @param array $name Any additional callables required to run all defined validation rules * @return boolean $temp_callables of validation * * @return boolean * * @access public * @since 1.0 * @version 1.0 * @author Dao Anh Minh */ public function run($input = null, $allow_partial = false, $temp_callables = array()) { if ($input == null) { $input = Input::post(); } return parent::run($input, $allow_partial, $temp_callables); }
/** * 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; }