示例#1
0
 /**
  * {@inheritdoc}
  */
 public function getConstraints()
 {
     $constraint_manager = $this->getTypedDataManager()->getValidationConstraintManager();
     $constraints = array();
     foreach ($this->definition->getConstraints() as $name => $options) {
         $constraints[] = $constraint_manager->create($name, $options);
     }
     return $constraints;
 }
示例#2
0
 /**
  * {@inheritdoc}
  */
 public function getConstraints()
 {
     // @todo: Add the typed data manager as proper dependency.
     $constraint_manager = \Drupal::typedDataManager()->getValidationConstraintManager();
     $constraints = array();
     foreach ($this->definition->getConstraints() as $name => $options) {
         $constraints[] = $constraint_manager->create($name, $options);
     }
     return $constraints;
 }
示例#3
0
 /**
  * {@inheritdoc}
  */
 public function getMatchingContexts(array $contexts, DataDefinitionInterface $definition)
 {
     return array_filter($contexts, function (ContextInterface $context) use($definition) {
         $context_definition = $context->getContextDefinition()->getDataDefinition();
         // If the data types do not match, this context is invalid.
         if ($definition->getDataType() != $context_definition->getDataType()) {
             return FALSE;
         }
         // If any constraint does not match, this context is invalid.
         // @todo This is too restrictive, consider only relying on data types.
         foreach ($definition->getConstraints() as $constraint_name => $constraint) {
             if ($context_definition->getConstraint($constraint_name) != $constraint) {
                 return FALSE;
             }
         }
         // All contexts with matching data type and contexts are valid.
         return TRUE;
     });
 }
示例#4
0
 /**
  * {@inheritdoc}
  */
 public function getConstraints() {
   return $this->wrappedProperty->getConstraints();
 }