예제 #1
0
 public static function validateParams($args, $methodInfo)
 {
     $result = array('_valid' => array());
     if (!is_array($methodInfo)) {
         $result['_invalid'][] = 'Method not found';
         return $result;
     }
     $methodsParams = $methodInfo['params'];
     if (preg_match_all('@\\/\\:(\\w+)@', $methodInfo['uri'], $match)) {
         if (isset($args['params'])) {
             foreach ($match[0] as $i => $value) {
                 if (!isset($args['params'][$match[1][$i]])) {
                     $result['_invalid'][] = 'Required parameter "' . $match[1][$i] . '" not found';
                 }
             }
         } else {
             $result['_invalid'][] = 'Required parameters not found: ' . implode(', ', $match[1]);
         }
         if (isset($result['_invalid'])) {
             return $result;
         }
     }
     if (isset($args['data'])) {
         $dataResult = RequestValidator::validateData($args['data'], $methodInfo);
         return array_merge($result, $dataResult);
     }
     return $result;
 }