Как я могу отобразить элемент только в том случае, если какое-либо значение было выбрано из поля выбора объекта?
Aug 20 2020
У меня есть поле в веб-форме (Drupal 8), которое должно отображаться только тогда, когда пользователь выбрал один или несколько параметров из поля выбора объекта, независимо от того, какие параметры выбраны.
Доступные параметры условной логики в веб-форме, похоже, не включают такое состояние. Я поискал в Интернете и просмотрел example_element_states.yml в модуле веб-формы, и все выбранные связанные примеры указывают конкретное значение параметра в качестве условной логики.
Кто-нибудь сталкивался и решал такую проблему?
Ответы
3 leymannx Aug 20 2020 at 04:06
Понял! Вам нужно проверить значение больше 0. 🤷
user:
'#type': webform_entity_select
'#title': User
'#multiple': true
'#target_type': user
'#selection_handler': 'default:user'
'#selection_settings':
include_anonymous: false
filter:
type: _none
text:
'#type': textfield
'#title': Text
'#states':
visible:
':input[name="user[]"]':
value:
greater: '0'
Я предполагаю, что в PHP это должно быть:
$form['text']['#states'] = [
'visible' => [
':input[name="user[]"]' => [
'value' => [
'greater' => "0",
]
]
]
];