lib/Psc/Form/Validator.php
public function validate($field, $data = NULL, $flags = 0x000000) {
    $key = $this->getKey($field);
    
    if (isset($this->dataProvider)) {
      $data = $this->dataProvider->getValidatorData($field);
    }
    
    if ($this->hasField($field)) {
      
      try {
          
        foreach ($this->rules[$key] as $rule) {
          $data = $rule->validate($data); // wenn wir hier data zurückgeben, können wir die rules chainen
        }
        
      } catch (EmptyDataException $e) {
        if (($flags & self::OPTIONAL) == self::OPTIONAL || $this->isOptional($field)) {
          return $e->getDefaultValue();

        } else {
          if ($e->getMessage() == NULL) {
            $e->setMessage(sprintf($this->standardEmptyMessage,$this->getKey($field)));
          }

          throw $this->convertToValidatorException($e, $field, $data);
        }

      } catch (\Exception $e) {
        throw $this->convertToValidatorException($e, $field, $data);
      }
      
    } else {
      throw new \Psc\Exception('Feld: '.Code::varInfo($field).' ist dem Validator nicht bekannt.');
    }
    
    return $data;
  }
public function validate($field, $data = NULL, $flags = 0x000000) {
    $key = $this->getKey($field);
    
    if (isset($this->dataProvider)) {
      $data = $this->dataProvider->getValidatorData($field);
    }
    
    if ($this->hasField($field)) {
      
      try {
          
        foreach ($this->rules[$key] as $rule) {
          $data = $rule->validate($data); // wenn wir hier data zurückgeben, können wir die rules chainen
        }
        
      } catch (EmptyDataException $e) {
        if (($flags & self::OPTIONAL) == self::OPTIONAL || $this->isOptional($field)) {
          return $e->getDefaultValue();

        } else {
          if ($e->getMessage() == NULL) {
            $e->setMessage(sprintf($this->standardEmptyMessage,$this->getKey($field)));
          }

          throw $this->convertToValidatorException($e, $field, $data);
        }

      } catch (\Exception $e) {
        throw $this->convertToValidatorException($e, $field, $data);
      }
      
    } else {
      throw new \Psc\Exception('Feld: '.Code::varInfo($field).' ist dem Validator nicht bekannt.');
    }
    
    return $data;
  }
public function validate ( $ field , $ data = NULL , $ flags = 0x000000 ) { $ key = $ this -> getKey ( $ field ) ; if ( isset ( $ this -> dataProvider ) ) { $ data = $ this -> dataProvider -> getValidatorData ( $ field ) ; } if ( $ this -> hasField ( $ field ) ) { try { foreach ( $ this -> rules [ $ key ] as $ rule ) { $ data = $ rule -> validate ( $ data ) ; // wenn wir hier data zurückgeben, können wir die rules chainen } } catch ( EmptyDataException $ e ) { if ( ( $ flags & self :: OPTIONAL ) == self :: OPTIONAL || $ this -> isOptional ( $ field ) ) { return $ e -> getDefaultValue ( ) ; } else { if ( $ e -> getMessage ( ) == NULL ) { $ e -> setMessage ( sprintf ( $ this -> standardEmptyMessage , $ this -> getKey ( $ field ) ) ) ; } throw $ this -> convertToValidatorException ( $ e , $ field , $ data ) ; } } catch ( \ Exception $ e ) { throw $ this -> convertToValidatorException ( $ e , $ field , $ data ) ; } } else { throw new \ Psc \ Exception ( 'Feld: ' . Code :: varInfo ( $ field ) . ' ist dem Validator nicht bekannt.' ) ; } return $ data ; }
Validiert die Daten zu einem Feld

gibt die Daten zurück!
Wenn das Feld nicht validiert werden, wird eine Exception geworfen!
@throws ValidatorException wenn die Daten nicht zum Feld passen

ist $flags OPTIONAL gesetzt und wird die Rule eine EmptyDataException werfen, wird der DefaultWert (normal: NULL) der Exception zurückgegeben
wenn $this->dataProvider gesetzt ist, wird IMMER $this->dataProvider->getValidatorData() benutzt und nicht der $data Parameter
Validiert die Daten zu einem Feld