public static function SocialProfileTagSplitWidget::validateElement in Open Social 10.2.x
Same name and namespace in other branches
- 10.3.x modules/social_features/social_profile/src/Plugin/Field/FieldWidget/SocialProfileTagSplitWidget.php \Drupal\social_profile\Plugin\Field\FieldWidget\SocialProfileTagSplitWidget::validateElement()
File
- modules/
social_features/ social_profile/ src/ Plugin/ Field/ FieldWidget/ SocialProfileTagSplitWidget.php, line 121
Class
- SocialProfileTagSplitWidget
- Class SocialProfileTagSplitWidget.
Namespace
Drupal\social_profile\Plugin\Field\FieldWidgetCode
public static function validateElement(array $element, FormStateInterface $form_state) {
/** @var \Drupal\social_profile\SocialProfileTagServiceInterface $profile_tag_service */
$profile_tag_service = \Drupal::service('social_profile.tag_service');
if ($profile_tag_service
->allowSplit()) {
$build_info = $form_state
->getBuildInfo();
if ($build_info['form_id'] === 'user_register_form') {
$field_element = [
'entity_profile',
$element['#field_name'],
];
}
else {
$field_element = $element['#field_name'];
}
$value = $form_state
->getValue($field_element);
$field_value = [];
// Get the main categories.
$categories = $profile_tag_service
->getCategories();
foreach ($categories as $tid => $category) {
$field_name = 'profile_tagging_' . $profile_tag_service
->tagLabelToMachineName($category);
if (isset($value[$field_name])) {
$field_value += $value[$field_name];
}
}
$form_state
->setValue($field_element, $field_value);
}
else {
parent::validateElement($element, $form_state);
}
}