You are here

public function FederatedTerms::getConstraints in Search API Federated Solr 8.2

Same name and namespace in other branches
  1. 8.3 src/Plugin/Field/FieldType/FederatedTerms.php \Drupal\search_api_federated_solr\Plugin\Field\FieldType\FederatedTerms::getConstraints()
  2. 8 src/Plugin/Field/FieldType/FederatedTerms.php \Drupal\search_api_federated_solr\Plugin\Field\FieldType\FederatedTerms::getConstraints()
  3. 4.x src/Plugin/Field/FieldType/FederatedTerms.php \Drupal\search_api_federated_solr\Plugin\Field\FieldType\FederatedTerms::getConstraints()

Gets a list of validation constraints.

Return value

array Array of constraints, each being an instance of \Symfony\Component\Validator\Constraint.

Overrides TypedData::getConstraints

File

src/Plugin/Field/FieldType/FederatedTerms.php, line 58
Contains \Drupal\search_api_federated_solr\Plugin\field\field_type\FederatedTerms.

Class

FederatedTerms
Plugin implementation of the 'federated_terms' field type.

Namespace

Drupal\search_api_federated_solr\Plugin\Field\FieldType

Code

public function getConstraints() {
  $constraints = parent::getConstraints();
  if ($max_length = $this
    ->getSetting('max_length')) {
    $constraint_manager = \Drupal::typedDataManager()
      ->getValidationConstraintManager();
    $constraints[] = $constraint_manager
      ->create('ComplexData', [
      'value' => [
        'Length' => [
          'max' => static::FEDERATED_TERMS_MAXLENGTH,
          'maxMessage' => t('%name: may not be longer than @max characters.', [
            '%name' => $this
              ->getFieldDefinition()
              ->getLabel(),
            '@max' => static::FEDERATED_TERMS_MAXLENGTH,
          ]),
        ],
      ],
    ]);
  }
  return $constraints;
}