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;
}