public static function PatternSettingTypeBase::validateLayout in UI Patterns Settings 8.2
Check required input fields in layout forms.
Parameters
array $element: The element to validate.
\Drupal\Core\Form\FormStateInterface $form_state: The form state.
array $form: The form.
File
- src/
Plugin/ PatternSettingTypeBase.php, line 247
Class
- PatternSettingTypeBase
- Base class for UI Patterns Setting plugins.
Namespace
Drupal\ui_patterns_settings\PluginCode
public static function validateLayout(array $element, FormStateInterface &$form_state, array &$form) {
$parents = $element['#parents'];
$value = $form_state
->getValue($parents);
$parents[count($parents) - 1] = $parents[count($parents) - 1] . '_token';
$token_value = $form_state
->getValue($parents);
if (empty($value) && empty($token_value)) {
// Check if a variant is selected and the value
// is provided by the variant.
$variant = $form_state
->getValue([
'layout_configuration',
'pattern',
'variant',
]);
if (!empty($variant)) {
$variant_def = $element['#pattern_definition']
->getVariant($variant);
$variant_ary = $variant_def
->toArray();
if (!empty($variant_ary['settings'][$element['#pattern_setting_definition']
->getName()])) {
return;
}
}
$form_state
->setError($element, t('@name field is required.', [
'@name' => $element['#title'],
]));
}
}