You are here

public function PriceItem::getConstraints in Price 2.0.x

Same name and namespace in other branches
  1. 8 src/Plugin/Field/FieldType/PriceItem.php \Drupal\price\Plugin\Field\FieldType\PriceItem::getConstraints()
  2. 3.x src/Plugin/Field/FieldType/PriceItem.php \Drupal\price\Plugin\Field\FieldType\PriceItem::getConstraints()
  3. 2.x src/Plugin/Field/FieldType/PriceItem.php \Drupal\price\Plugin\Field\FieldType\PriceItem::getConstraints()
  4. 3.0.x src/Plugin/Field/FieldType/PriceItem.php \Drupal\price\Plugin\Field\FieldType\PriceItem::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/PriceItem.php, line 133

Class

PriceItem
Plugin implementation of the 'price' field type.

Namespace

Drupal\price\Plugin\Field\FieldType

Code

public function getConstraints() {
  $constraint_manager = $this
    ->getTypedDataManager()
    ->getValidationConstraintManager();
  $constraints = parent::getConstraints();
  $constraints[] = $constraint_manager
    ->create('ComplexData', [
    'number' => [
      'Regex' => [
        'pattern' => '/^[+-]?((\\d+(\\.\\d*)?)|(\\.\\d+))$/i',
      ],
    ],
  ]);
  $available_currencies = array_filter($this
    ->getSetting('available_currencies'));
  $constraints[] = $constraint_manager
    ->create('PriceCurrency', [
    'availableCurrencies' => $available_currencies,
  ]);
  return $constraints;
}