--- checkbox_validate.module Fri May 30 00:14:40 2008 +++ checkbox_validate-updated.module Thu Dec 04 11:30:05 2008 @@ -19,17 +19,23 @@ function checkbox_validate_recurse($form if (strpos($key, '#') === 0) { - if (isset($form_item['#type']) && $form_item['#type'] == 'checkbox' && isset($form_item['#required']) && $form_item['#required'] == TRUE) { - - $form_item['#element_validate'] = array('checkbox_validate_validation'); - $form_item['#pre_render'][] = 'checkbox_validate_add_required_symbol'; - return $form_item; + if (isset($form_item['#required']) && $form_item['#required'] == TRUE) { + + if (isset($form_item['#type']) && $form_item['#type'] == 'checkbox') { + $form_item['#element_validate'] = array('checkbox_validate_validation'); + $form_item['#pre_render'][] = 'checkbox_validate_add_required_symbol'; + return $form_item; + } + + if (isset($form_item['#type']) && $form_item['#type'] == 'optionwidgets_onoff') { + $form_item['#element_validate'] = array('checkbox_validate_optionwidget_onoff_validation'); + return $form_item; + } } - } + } else { - - $form_item[$key] = checkbox_validate_recurse($value, $key); + $form_item[$key] = checkbox_validate_recurse($value); } } @@ -49,6 +55,12 @@ function checkbox_validate_validation($e return; } +function checkbox_validate_optionwidget_onoff_validation($element) { + if (empty($element['value']['#value'])) { + form_error($element, t('!title field is required.', array('!title' => filter_xss_admin(($element['#title']))))); + } + return; +} /** * Implementation of hook_theme(). */