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

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc