Tôi có một danh sách thả xuống hiển thị các trường khác nhau dựa trên những gì được chọn và tôi biết rằng tôi có thể điều chỉnh mức độ hiển thị với các trạng thái nhưng khi tôi cố gắng sử dụng thì * span được hiển thị nhưng thực tế không bắt buộc. Ý tôi là mặc dù nó "bắt buộc" nhưng tôi có thể nhấn gửi và không nhận được thông báo lỗi từ drupal. Tôi đang làm gì đó sai hay điều này hiện đang bị hỏng trong 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
. Nó phải như vậy:input[name="host_info"]
.