function webform_validation_form_webform_client_form_alter in Webform Validation 7
Implements hook_form_BASE_FORM_ID_alter().
File
- ./
webform_validation.module, line 100
Code
function webform_validation_form_webform_client_form_alter(&$form, &$form_state, $form_id) {
$form['#validate'][] = 'webform_validation_validate';
if (module_exists('maxlength')) {
$nid = substr($form_id, strlen('webform_client_form') + 1);
$rules = webform_validation_get_node_rules($nid);
foreach ($rules as $ruleid => $rule) {
if ($rule['validator'] == 'max_length') {
$length_limit = $rule['data'];
$components = $rule['components'];
foreach ($components as $cid => $component) {
// Define $form_element as the webform element representing this
// component, even if it's nested in multiple arrays, as webform
// elemens often are (e.g., fieldsets). Assign by reference here,
// since we need to modify the form element itself and don't know
// its array depth or keys by which to access it.
$form_element =& _webform_validation_get_webform_element($component, $form);
// Append to this form element the relevant properties which are
// supported by maxlength module.
$form_element['#pre_render'][] = 'maxlength_pre_render';
$form_element['#maxlength'] = $length_limit;
$form_element['#maxlength_js'] = TRUE;
}
}
}
}
}