public function BaseFieldDefinition::addPropertyConstraints in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Field/BaseFieldDefinition.php \Drupal\Core\Field\BaseFieldDefinition::addPropertyConstraints()
- 9 core/lib/Drupal/Core/Field/BaseFieldDefinition.php \Drupal\Core\Field\BaseFieldDefinition::addPropertyConstraints()
Adds constraints for a given field item property.
Adds a constraint to a property of a base field item. e.g.
// Limit the field item's value property to the range 0 through 10.
// e.g. $node->size->value.
$field
->addPropertyConstraints('value', [
'Range' => [
'min' => 0,
'max' => 10,
],
]);
If you want to add a validation constraint that applies to the \Drupal\Core\Field\FieldItemList, use BaseFieldDefinition::addConstraint() instead.
Note: passing a new set of options for an existing property constraint will overwrite with the new options.
Parameters
string $name: The name of the property to set constraints for.
array $constraints: The constraints to set.
Return value
static The object itself for chaining.
See also
\Drupal\Core\Field\BaseFieldDefinition::addConstraint()
File
- core/
lib/ Drupal/ Core/ Field/ BaseFieldDefinition.php, line 345
Class
- BaseFieldDefinition
- A class for defining entity fields.
Namespace
Drupal\Core\FieldCode
public function addPropertyConstraints($name, array $constraints) {
$item_constraints = $this
->getItemDefinition()
->getConstraint('ComplexData') ?: [];
if (isset($item_constraints[$name])) {
// Add the new property constraints, overwriting as required.
$item_constraints[$name] = $constraints + $item_constraints[$name];
}
else {
$item_constraints[$name] = $constraints;
}
$this
->getItemDefinition()
->addConstraint('ComplexData', $item_constraints);
return $this;
}