diff --git a/core/includes/form.inc b/core/includes/form.inc index 03b6fdc..27c0ab9 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -1856,16 +1856,18 @@ function form_builder($form_id, &$element, &$form_state) { '#title_display' => 'before', ); - // Cheks if the element needs property validation. + // Checks if the element needs property validation. if (isset($element['#property_validate']) && is_array($element['#property_validate'])) { // Validates required properties. - foreach (array_filter($element['#property_validate']) as $property => $callback) { - if (!isset($element[$property]) || !$callback($element) == TRUE) { - throw new \UnexpectedValueException(t('@type element in form @form_id has a non-valid @property property.', array( - '@type' => $element['#type'], - '@form_id' => $form_id, - '@property' => $property, - ))); + foreach ($element['#property_validate'] as $property => $callbacks) { + foreach ($callbacks as $callback) { + if (!isset($element[$property]) || !$callback($element)) { + trigger_error(t("'@type' element in form '@form_id' has a non-valid '@property' property.", array( + '@type' => $element['#type'], + '@form_id' => $form_id, + '@property' => $property, + )), E_USER_ERROR); + } } } } @@ -4025,7 +4027,12 @@ function form_process_vertical_tabs($element, &$form_state) { // Details within a vertical tab do not require a title. $details_validation = element_info_property('details', '#property_validate'); - unset($details_validation['#title']); + if (isset($details_validation['#title'])) { + $key = array_search('element_validate_title', $details_validation['#title']); + if ($key !== FALSE) { + unset($details_validation['#title'][$key]); + } + } $element['group']['#property_validate'] = $details_validation; // Add an invisible label for accessibility. diff --git a/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php b/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php index 4f30bb7..8622a93 100644 --- a/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php +++ b/core/modules/node/lib/Drupal/node/Plugin/Condition/NodeType.php @@ -39,6 +39,7 @@ public function buildForm(array $form, array &$form_state) { $options[$type->type] = $type->name; } $form['bundles'] = array( + '#title' => t('Node types'), '#type' => 'checkboxes', '#options' => $options, '#required' => TRUE, diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 716679d..e30c6fd 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -330,7 +330,7 @@ function system_element_info() { '#process' => array('form_process_autocomplete', 'ajax_process_form', 'form_process_pattern'), '#pre_render' => array('form_pre_render_textfield'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__textfield', '#theme_wrappers' => array('form_element'), @@ -343,7 +343,7 @@ function system_element_info() { '#process' => array('form_process_autocomplete', 'ajax_process_form', 'form_process_pattern'), '#pre_render' => array('form_pre_render_tel'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__tel', '#theme_wrappers' => array('form_element'), @@ -358,7 +358,7 @@ function system_element_info() { '#element_validate' => array('form_validate_email'), '#pre_render' => array('form_pre_render_email'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__email', '#theme_wrappers' => array('form_element'), @@ -372,7 +372,7 @@ function system_element_info() { '#element_validate' => array('form_validate_url'), '#pre_render' => array('form_pre_render_url'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__url', '#theme_wrappers' => array('form_element'), @@ -385,7 +385,7 @@ function system_element_info() { '#process' => array('form_process_autocomplete', 'ajax_process_form'), '#pre_render' => array('form_pre_render_search'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__search', '#theme_wrappers' => array('form_element'), @@ -397,7 +397,7 @@ function system_element_info() { '#element_validate' => array('form_validate_number'), '#pre_render' => array('form_pre_render_number'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__number', '#theme_wrappers' => array('form_element'), @@ -411,7 +411,7 @@ function system_element_info() { '#element_validate' => array('form_validate_number'), '#pre_render' => array('form_pre_render_range'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__range', '#theme_wrappers' => array('form_element'), @@ -422,7 +422,7 @@ function system_element_info() { '#element_validate' => array('form_validate_color'), '#pre_render' => array('form_pre_render_color'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__color', '#theme_wrappers' => array('form_element'), @@ -438,7 +438,7 @@ function system_element_info() { '#element_validate' => array('form_validate_machine_name'), '#pre_render' => array('form_pre_render_textfield'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__textfield', '#theme_wrappers' => array('form_element'), @@ -450,7 +450,7 @@ function system_element_info() { '#process' => array('ajax_process_form', 'form_process_pattern'), '#pre_render' => array('form_pre_render_password'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__password', '#theme_wrappers' => array('form_element'), @@ -467,7 +467,7 @@ function system_element_info() { '#resizable' => 'vertical', '#process' => array('ajax_process_form'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'textarea', '#theme_wrappers' => array('form_element'), @@ -476,7 +476,7 @@ function system_element_info() { '#input' => TRUE, '#process' => array('form_process_radios'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme_wrappers' => array('radios'), '#pre_render' => array('form_pre_render_conditional_form_element'), @@ -487,7 +487,7 @@ function system_element_info() { '#process' => array('ajax_process_form'), '#pre_render' => array('form_pre_render_radio'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__radio', '#theme_wrappers' => array('form_element'), @@ -498,7 +498,7 @@ function system_element_info() { '#process' => array('form_process_checkboxes'), '#pre_render' => array('form_pre_render_conditional_form_element'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme_wrappers' => array('checkboxes'), ); @@ -508,7 +508,7 @@ function system_element_info() { '#process' => array('form_process_checkbox', 'ajax_process_form'), '#pre_render' => array('form_pre_render_checkbox'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__checkbox', '#theme_wrappers' => array('form_element'), @@ -519,7 +519,7 @@ function system_element_info() { '#multiple' => FALSE, '#process' => array('form_process_select', 'ajax_process_form'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'select', '#theme_wrappers' => array('form_element'), @@ -529,7 +529,7 @@ function system_element_info() { '#input' => TRUE, '#default_value' => Language::LANGCODE_NOT_SPECIFIED, '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), ); $types['weight'] = array( @@ -538,13 +538,13 @@ function system_element_info() { '#default_value' => 0, '#process' => array('form_process_weight', 'ajax_process_form'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), ); $types['date'] = array( '#input' => TRUE, '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'date', '#theme_wrappers' => array('form_element'), @@ -556,7 +556,7 @@ function system_element_info() { '#size' => 60, '#pre_render' => array('form_pre_render_file'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme' => 'input__file', '#theme_wrappers' => array('form_element'), @@ -604,7 +604,7 @@ function system_element_info() { '#process' => array('form_process_group', 'ajax_process_form'), '#pre_render' => array('form_pre_render_group'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme_wrappers' => array('fieldset'), ); @@ -614,7 +614,7 @@ function system_element_info() { '#process' => array('form_process_group', 'ajax_process_form'), '#pre_render' => array('form_pre_render_details', 'form_pre_render_group'), '#property_validate' => array( - '#title' => 'element_validate_title', + '#title' => array('element_validate_title'), ), '#theme_wrappers' => array('details'), );