You are here

function _clientside_validation_webform_webform_validation in Clientside Validation 6

Same name and namespace in other branches
  1. 7 clientside_validation_webform/clientside_validation_webform.module \_clientside_validation_webform_webform_validation()

Retreive webform validation rules

1 call to _clientside_validation_webform_webform_validation()
clientside_validation_webform_add_webform_validation in clientside_validation_webform/clientside_validation_webform.module
Support webform_validation

File

clientside_validation_webform/clientside_validation_webform.module, line 294
Adds clientside validation support for the webform module

Code

function _clientside_validation_webform_webform_validation($nid, $form) {
  static $webform_validation_rules;
  $current_page = $form['details']['page_num']['#value'];
  if (!isset($webform_validation_rules[$nid][$current_page])) {
    if (module_exists('webform_validation')) {
      $node_rules = webform_validation_get_node_rules($nid);
      foreach ($node_rules as $rid => $rule) {
        foreach ($rule['components'] as $cid => $component) {
          if ($form['#node']->webform['components'][$component['cid']]['page_num'] != $current_page) {
            unset($node_rules[$rid]['components'][$cid]);
            if (empty($node_rules[$rid]['components'])) {
              unset($node_rules[$rid]);
            }
          }
        }
      }
      $webform_validation_rules[$nid][$current_page] = $node_rules;

      // add element name to arrays
      clientside_validation_webform_webform_validation_add_names($webform_validation_rules[$nid][$current_page], $form);
    }
    else {
      $webform_validation_rules[$nid][$current_page] = NULL;
    }
  }
  return $webform_validation_rules[$nid][$current_page];
}