Я определил несколько условных полей с drupal_process_states, которые должны отображаться и проверяться только в том случае, если переключатель имеет значение «пост». Он работает для «невидимых» и «отключенных» свойств, но он не работает для свойства «optional». Он позволяет отправить форму, но она не работает на основе проверки подлинности, говоря, что эти поля необходимы. Вот мой код в форме перекрестного крючка:Drupal 8 необязательно в drupal_process_states не работает
$states_when_delivery_is_post = array(
'disabled' => array(
':input[name="field_delivery_way"]' => array('value' => 'email'),
),
'optional' => array(
':input[name="field_delivery_way"]' => array('value' => 'email'),
),
'invisible' => array(
':input[name="field_delivery_way"]' => array('value' => 'email'),
),
);
if (isset($form['field_country'])) {
$form['field_country']['#states'] = $states_when_delivery_is_post;
}
Любые идеи?