Index: sites/all/modules/cck/nodereference.module =================================================================== --- sites/all/modules/cck/nodereference.module (revision 437) +++ sites/all/modules/cck/nodereference.module (working copy) @@ -196,10 +196,12 @@ $options = _nodereference_potential_references($field, true); foreach ($options as $key => $value) { - $options[$key] = _nodereference_item($field, $value); + $options[$key] = _nodereference_item($field, $value); } if (!$field['required']) { $options = array(0 => t('')) + $options; + } else if (!$field['multiple']) { + $options = array('none' => t('Select')) + $options; } $form[$field['field_name']] = array('#tree' => TRUE); @@ -209,7 +211,8 @@ '#default_value' => $items['default nids'], '#multiple' => $field['multiple'], '#size' => $field['multiple'] ? min(count($options), 6) : 0, - '#options' => $options, + '#options' => $options, + '#validate' => array('validate_nodereference_select' => array() ), '#required' => $field['required'], '#description' => t($field['widget']['description']), ); @@ -483,4 +486,11 @@ $options = array(0 => t('')); $options = $options + _nodereference_potential_references($filterinfo['extra']['field']); return $options; +} + +function validate_nodereference_select(&$form_values) { + //printr($form_values); + if ($form_values['#value'] == 'none') { + form_set_error($form_values['#parents'][0], t($form_values['#title'].' is required.') ); + } } \ No newline at end of file