cloud-8.x-2.0-beta1/modules/cloud_service_providers/k8s/src/Plugin/Validation/Constraint/YamlArrayDataConstraintValidator.php
modules/cloud_service_providers/k8s/src/Plugin/Validation/Constraint/YamlArrayDataConstraintValidator.php
<?php
namespace Drupal\k8s\Plugin\Validation\Constraint;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
use Drupal\Component\Serialization\Yaml;
/**
* Validates yaml data.
*/
class YamlArrayDataConstraintValidator extends ConstraintValidator {
/**
* {@inheritdoc}
*/
public function validate($items, Constraint $constraint) {
foreach ($items as $item) {
try {
if (!is_array(Yaml::decode($item->value))) {
$this->context->addViolation($constraint->invalidYamlArray);
break;
}
}
catch (\Exception $e) {
$this->context->addViolation($constraint->invalidYaml . $e->getMessage());
break;
}
}
}
}
