Index: checkbox_validate.module =================================================================== --- checkbox_validate.module (revision 613) +++ checkbox_validate.module (working copy) @@ -1,68 +1,42 @@ array('checkbox_validate_add_validation' => array())); + return $type; } /** - * Recurse through a form array to find required checkboxes + * Process function for checkbox form elements. */ -function checkbox_validate_recurse($form_item) { - if (!is_array($form_item)) return; - - foreach ($form_item as $key => $value) { - - if (strpos($key, '#') === 0) { - - if (isset($form_item['#type']) && $form_item['#type'] == 'checkbox' && isset($form_item['#required']) && $form_item['#required'] == TRUE) { - - $form_item['#validate']['checkbox_validate_validation'] = array(); - $form_item['#title'] .= ' *'; - return $form_item; - } - - } - else { - - $form_item[$key] = checkbox_validate_recurse($value, $key); - } +function checkbox_validate_add_validation($element) { + if (isset($element['#required']) && $element['#required'] == TRUE) { + $element['#validate']['checkbox_validate_validation'] = array(); + $element['#title'] .= ' *'; } - - return $form_item; -} - - -/* validate a required checkbox */ -function checkbox_validate_validation($element) { - if (empty($element['#value'])) form_error($element, t('!title field is required.', array('!title' => filter_xss_admin(($element['#title']))))); - return; + return $element; } /** - * Implementation of hook_theme(). + * Validate a required checkbox. */ -function checkbox_validate_theme() { - return array( - 'checkbox_validate_required' => array( - 'arguments' => array(), - ), - ); +function checkbox_validate_validation($element) { + if (empty($element['#value'])) { + form_error($element, t('!title field is required.', array('!title' => filter_xss_admin($element['#title'])))); + } } +