엔티티 선택 필드에서 값을 선택한 경우에만 요소를 표시하려면 어떻게해야합니까?

Aug 20 2020

어떤 옵션이 선택되었는지에 관계없이 사용자가 엔티티 선택 필드에서 하나 이상의 옵션을 선택한 경우에만 표시되어야하는 웹 양식 (Drupal 8)에 필드가 있습니다.

웹 양식에서 사용 가능한 조건부 논리 옵션은 이러한 상태를 포함하지 않는 것 같습니다. 온라인으로 검색하고 webform 모듈의 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",
      ]
    ]
  ]
];