Development

Changeset 1453

You must first sign up to be able to contribute.

Changeset 1453

Show
Ignore:
Timestamp:
06/16/06 10:44:27 (7 years ago)
Author:
fabien
Message:

fixes validation - now all validators are run (closes #212)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/filter/sfExecutionFilter.class.php

    r1415 r1453  
    7878        $validated = true; 
    7979 
     80        // get the current action validation configuration 
     81        $validationConfig = $moduleName.'/'.sfConfig::get('sf_app_module_validate_dir_name').'/'.$actionName.'.yml'; 
     82        if (is_readable(sfConfig::get('sf_app_module_dir').'/'.$validationConfig)) 
     83        { 
     84          // load validation configuration 
     85          // do NOT use require_once 
     86          require(sfConfigCache::getInstance()->checkConfig(sfConfig::get('sf_app_module_dir_name').'/'.$validationConfig)); 
     87        } 
     88 
     89        // manually load validators 
     90        $actionInstance->registerValidators($validatorManager); 
     91 
     92        // process validators 
     93        $validated = $validatorManager->execute(); 
     94 
    8095        // process manual validation 
    8196        $validateToRun = 'validate'.ucfirst($actionName); 
    82         $validated = method_exists($actionInstance, $validateToRun) ? $actionInstance->$validateToRun() : $actionInstance->validate(); 
    83  
    84         if ($validated) 
    85         { 
    86           // get the current action validation configuration 
    87           $validationConfig = $moduleName.'/'.sfConfig::get('sf_app_module_validate_dir_name').'/'.$actionName.'.yml'; 
    88           if (is_readable(sfConfig::get('sf_app_module_dir').'/'.$validationConfig)) 
    89           { 
    90             // load validation configuration 
    91             // do NOT use require_once 
    92             require(sfConfigCache::getInstance()->checkConfig(sfConfig::get('sf_app_module_dir_name').'/'.$validationConfig)); 
    93           } 
    94  
    95           // manually load validators 
    96           $actionInstance->registerValidators($validatorManager); 
    97  
    98           // process validators 
    99           $validated = $validatorManager->execute(); 
    100         } 
     97        $manualValidated = method_exists($actionInstance, $validateToRun) ? $actionInstance->$validateToRun() : $actionInstance->validate(); 
     98 
     99        // action is validated only if both validators returned true 
     100        $validated = $manualValidated && $validated; 
    101101 
    102102        $sf_logging_active = sfConfig::get('sf_logging_active');