public FieldConfigBase::addPropertyConstraints($name, array $constraints)
Adds constraints for a given field item property.
Adds a constraint to a property of a field item. e.g.
// Limit the field item's value property to the range 0 through 10. // e.g. $node->field_how_many->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 FieldConfigInterface::addConstraint() instead.
Note: passing a new set of options for an existing property constraint will overwrite with the new options.
Note that constraints added via this method are not stored in configuration and as such need to be added at runtime using hook_entity_bundle_field_info_alter().
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.
Overrides FieldConfigInterface::addPropertyConstraints
See also
\Drupal\Core\Field\FieldConfigInterface::addConstraint()
hook_entity_bundle_field_info_alter()
File
- core/lib/Drupal/Core/Field/FieldConfigBase.php, line 558
Class
- FieldConfigBase
- Base class for configurable field definitions.
Namespace
Drupal\Core\Field
Code
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; }
Please login to continue.