protected function validateObject($object, \SplObjectStorage $validatedInstancesContainer)
{
$className = $this->entityManager->getClassMetadata(get_class($object))->getName();
$validator = $this->validatorResolver->getBaseValidatorConjunction($className, ['Persistence', 'Default']);
if ($validator === null) {
return;
}
$validator->setValidatedInstancesContainer($validatedInstancesContainer);
$validationResult = $validator->validate($object);
if ($validationResult->hasErrors()) {
$errorMessages = '';
$errorCount = 0;
$allErrors = $validationResult->getFlattenedErrors();
foreach ($allErrors as $path => $errors) {
$errorMessages .= $path . ':' . PHP_EOL;
foreach ($errors as $error) {
$errorCount++;
$errorMessages .= (string) $error . PHP_EOL;
}
}
throw new ObjectValidationFailedException('An instance of "' . get_class($object) . '" failed to pass validation with ' . $errorCount . ' error(s): ' . PHP_EOL . $errorMessages, 1322585164);
}
}