Special handling to validate form elements with multiple values.
array $elements: An associative array containing the substructure of the form to be validated in this call.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
array $form: The complete form array.
public function multipleElementValidate(array $elements, FormStateInterface $form_state, array $form) {
$field_name = $this->fieldDefinition
->getName();
$widget_state = static::getWidgetState($elements['#field_parents'], $field_name, $form_state);
$remove_mode_item_count = $this
->getNumberOfParagraphsInMode($widget_state, 'remove');
$non_remove_mode_item_count = $widget_state['real_item_count'] - $remove_mode_item_count;
if ($elements['#required'] && $non_remove_mode_item_count < 1) {
$form_state
->setError($elements, $this
->t('@name field is required.', [
'@name' => $this->fieldDefinition
->getLabel(),
]));
}
static::setWidgetState($elements['#field_parents'], $field_name, $form_state, $widget_state);
}