예제 #1
0
 /**
  * バリデーションを実行します。
  *
  * @param Teeple_ActionBase $action
  * @param string $methodName
  */
 private function doValidation($action, $methodName)
 {
     $className = get_class($action);
     if (!defined($className . "::VALIDATION_CONFIG")) {
         return;
     }
     if (defined($className . "::VALIDATION_TARGET")) {
         $targets = explode(',', constant($className . "::VALIDATION_TARGET"));
         array_walk($targets, 'trim');
         if (!in_array($methodName, $targets)) {
             $this->log->info("メソッド{$methodName}はValidation対象ではありません。");
             return;
         }
     }
     $validationConfig = $this->validatorManager->parseYAML(constant($className . "::VALIDATION_CONFIG"));
     if (!$this->validatorManager->execute($action, $validationConfig)) {
         $this->request->setFilterError('Validate');
     }
     return;
 }