/** * Execute validation * * @param array $input * @param array $rules * @param array $custom_errors * @return boolean */ public function check($input, $rules, $custom_errors = null) { // save custom errors self::$_custom_messages = is_array($custom_errors) ? $custom_errors : array(); // prepare rules for checking self::prepareRules($input, $rules); // let's check $result = true; for ($i = 0; $i < count(self::$_checkers); $i++) { if (!is_null(self::$_checkers[$i]['descr'])) { $result = false; continue; } $func = "check_" . self::$_checkers[$i]['rule']; self::$_checkers[$i]['valid'] = self::$func($input, self::$_checkers[$i]['field'], self::$_checkers[$i]['params']); $result = self::$_checkers[$i]['valid'] ? $result : false; self::$_checkers[$i]['descr'] = self::setMessage(self::$_checkers[$i]); } return $result; }