eZ\Publish\Core\FieldType\Validator\StringLengthValidator::validateConstraints PHP Method

validateConstraints() public method

public validateConstraints ( $constraints )
    public function validateConstraints($constraints)
    {
        $validationErrors = array();
        foreach ($constraints as $name => $value) {
            switch ($name) {
                case 'minStringLength':
                case 'maxStringLength':
                    if ($value !== false && !is_integer($value) && !(null === $value)) {
                        $validationErrors[] = new ValidationError("Validator parameter '%parameter%' value must be of integer type", null, array('%parameter%' => $name));
                    } elseif ($value < 0) {
                        $validationErrors[] = new ValidationError("Validator parameter '%parameter%' value can't be negative", null, array('%parameter%' => $name));
                    }
                    break;
                default:
                    $validationErrors[] = new ValidationError("Validator parameter '%parameter%' is unknown", null, array('%parameter%' => $name));
            }
        }
        // if no errors above, check if minStringLength is shorter or equal than maxStringLength
        if (empty($validationErrors) && !$this->validateConstraintsOrder($constraints)) {
            $validationErrors[] = new ValidationError("Validator parameter 'maxStringLength' can't be shorter than validator parameter 'minStringLength' value");
        }
        return $validationErrors;
    }

Usage Example

Beispiel #1
0
 /**
  * Validates the validatorConfiguration of a FieldDefinitionCreateStruct or FieldDefinitionUpdateStruct.
  *
  * @param mixed $validatorConfiguration
  *
  * @return \eZ\Publish\SPI\FieldType\ValidationError[]
  */
 public function validateValidatorConfiguration($validatorConfiguration)
 {
     $validationErrors = array();
     $validator = new StringLengthValidator();
     foreach ($validatorConfiguration as $validatorIdentifier => $constraints) {
         if ($validatorIdentifier !== 'StringLengthValidator') {
             $validationErrors[] = new ValidationError("Validator '%validator%' is unknown", null, array('%validator%' => $validatorIdentifier));
             continue;
         }
         $validationErrors += $validator->validateConstraints($constraints);
     }
     return $validationErrors;
 }
All Usage Examples Of eZ\Publish\Core\FieldType\Validator\StringLengthValidator::validateConstraints