You are here

function rules_forms_action_set_error in Rules 6

Action implementation: set form error.

Related topics

File

rules_forms/rules_forms.rules.inc, line 236
Rules integration to provide form support

Code

function rules_forms_action_set_error(&$form, $element, $message) {
  if (substr($element, strlen($element) - 1) === ']') {
    $form_element = _rules_forms_get_element($form, $element);
    if (isset($form_element['#parents'])) {
      $element = implode('][', $form_element['#parents']);
    }
    else {

      // remove trailing ']'
      $element = substr($element, 0, strlen($element) - 1);

      // insert ']' before the first '['
      $first_part = substr($element, 0, strpos($element, '['));
      $second_part = substr($element, strpos($element, '['));
      $element = $first_part . ']' . $second_part;
    }
  }
  form_set_error($element, $message);
}