/**
  * Tests if the property is required because of its validation groups.
  *
  * @param ValidatorPropertyMetadataInterface $validatorPropertyMetadata
  * @param array                              $options
  *
  * @return bool
  */
 private function isRequiredByGroups(ValidatorPropertyMetadataInterface $validatorPropertyMetadata, array $options) : bool
 {
     foreach ($options['validation_groups'] as $validationGroup) {
         if (!is_string($validationGroup)) {
             continue;
         }
         foreach ($validatorPropertyMetadata->findConstraints($validationGroup) as $constraint) {
             if ($this->isRequired($constraint)) {
                 return true;
             }
         }
     }
     return false;
 }
Пример #2
0
 /**
  * Adds a property metadata.
  *
  * @param PropertyMetadataInterface $metadata
  */
 private function addPropertyMetadata(PropertyMetadataInterface $metadata)
 {
     $property = $metadata->getPropertyName();
     $this->members[$property][] = $metadata;
 }