示例#1
0
 /**
  * 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;
 }