Mam listę rozwijaną, która wyświetla różne pola w zależności od tego, co zostało wybrane, i wiem, że mogę przeszukiwać widoczność stanów, ale kiedy próbuję użyć wymaganego, wyświetlany jest * zakres, ale tak naprawdę nie jest wymagany. Chodzi mi o to, że nawet jeśli jest to „wymagane”, mogę nacisnąć Prześlij i nie otrzymać komunikatu o błędzie od Drupala. Czy robię coś źle, czy jest to obecnie zepsute w Drupal 7.8?
$form['host_info'] = array(
'#type' => 'select',
'#title' => t("Host Connection"),
'#options' => array(
'SSH2' => t('SSH2'),
'Web Service' => t('Web Service'),
),
'#default_value' => t(variable_get('host_info', 'SSH2')),
'#description' => t("Specify the connection information to the host"),
'#required' => TRUE,
);
$form['ssh_host'] = array(
'#type' => 'textfield',
'#title' => t("Host Address"),
'#description' => t("Host address of the SSH2 server"),
'#default_value' => t(variable_get('ssh_host')),
'#states' => array(
'visible' => array(
':input[name=host_info]' => array('value' => t('SSH2')),
),
'required' => array(
':input[name=host_info]' => array('value' => t('SSH2')),
),
),
);
$form['ssh_port'] = array(
'#type' => 'textfield',
'#title' => t("Port"),
'#description' => t("Port number of the SSH2 server"),
'#default_value' => t(variable_get('ssh_port')),
'#states' => array(
'visible' => array(
':input[name=host_info]' => array('value' => t('SSH2')),
),
'required' => array(
':input[name=host_info]' => array('value' => t('Web Service')),
),
),
);
name
. To musi być:input[name="host_info"]
.