/**
  * Returns a sfValidator class name for a given column.
  *
  * @param  sfDoctrineColumn $column
  * @return string    The name of a subclass of sfValidator
  */
 public function getValidatorClassForColumn($column)
 {
     $class = parent::getValidatorClassForColumn($column);
     if ('sfValidatorDateRange' == $class) {
         $class = 'sfValidatorChoice';
     }
     return $class;
 }
 /**
  * Returns a sfValidator class name for a given column.
  *
  * @param sfDoctrineColumn $column
  * @return string    The name of a subclass of sfValidator
  */
 public function getValidatorClassForColumn($column)
 {
     $class = parent::getValidatorClassForColumn($column);
     if ('sfValidatorDateRange' == $class) {
         return 'sfValidatorChoice';
     }
     switch ($column->getDoctrineType()) {
         case 'boolean':
             $validatorSubclass = 'Boolean';
             break;
         case 'string':
             if ($column->getDefinitionKey('email')) {
                 $validatorSubclass = 'Email';
             } elseif ($column->getDefinitionKey('regexp')) {
                 $validatorSubclass = 'Regex';
             } elseif ($column->getTable()->isLinkColumn($column->getName())) {
                 $validatorClass = 'dmValidatorLinkUrl';
             } else {
                 $validatorSubclass = 'String';
             }
             break;
         case 'clob':
         case 'blob':
             $validatorSubclass = 'String';
             break;
         case 'float':
         case 'decimal':
             $validatorSubclass = 'Number';
             break;
         case 'integer':
             if (!$column->isPrimaryKey()) {
                 $validatorSubclass = 'Integer';
             }
             break;
         case 'date':
             $validatorClass = 'dmValidatorDate';
             break;
         case 'time':
             $validatorSubclass = 'Time';
             break;
         case 'timestamp':
             $validatorSubclass = 'DateTime';
             break;
         case 'enum':
             $validatorSubclass = 'Choice';
             break;
         default:
             $validatorSubclass = 'Pass';
     }
     if ($column->isPrimaryKey() || $column->isForeignKey()) {
         $validatorSubclass = 'DoctrineChoice';
     }
     $validatorClass = isset($validatorClass) ? $validatorClass : sprintf('sfValidator%s', $validatorSubclass);
     $validatorClass = $this->getGeneratorManager()->getConfiguration()->getEventDispatcher()->filter(new sfEvent($this, 'dm.form_generator.validator_class', array('column' => $column)), $validatorClass)->getReturnValue();
     return $validatorClass;
 }