? contacttest.patch
Index: modules/contact/contact.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.admin.inc,v
retrieving revision 1.4
diff -u -p -r1.4 contact.admin.inc
--- modules/contact/contact.admin.inc	14 Apr 2008 17:48:36 -0000	1.4
+++ modules/contact/contact.admin.inc	30 Jun 2008 11:33:55 -0000
@@ -79,18 +79,10 @@ function contact_admin_edit($form_state 
  * Validate the contact category edit page form submission.
  */
 function contact_admin_edit_validate($form, &$form_state) {
-  if (empty($form_state['values']['category'])) {
-    form_set_error('category', t('You must enter a category.'));
-  }
-  if (empty($form_state['values']['recipients'])) {
-    form_set_error('recipients', t('You must enter one or more recipients.'));
-  }
-  else {
-    $recipients = explode(',', $form_state['values']['recipients']);
-    foreach ($recipients as $recipient) {
-      if (!valid_email_address(trim($recipient))) {
-        form_set_error('recipients', t('%recipient is an invalid e-mail address.', array('%recipient' => $recipient)));
-      }
+  $recipients = explode(',', $form_state['values']['recipients']);
+  foreach ($recipients as $recipient) {
+    if (!valid_email_address(trim($recipient))) {
+      form_set_error('recipients', t('%recipient is an invalid e-mail address.', array('%recipient' => $recipient)));
     }
   }
 }
Index: modules/contact/contact.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.test,v
retrieving revision 1.5
diff -u -p -r1.5 contact.test
--- modules/contact/contact.test	24 Jun 2008 21:51:02 -0000	1.5
+++ modules/contact/contact.test	30 Jun 2008 11:33:55 -0000
@@ -50,6 +50,11 @@ class ContactSitewideTestCase extends Dr
       $this->addCategory($this->randomName(16), $invalid_recipient, '', FALSE);
       $this->assertRaw(t('%recipient is an invalid e-mail address.', array('%recipient' => $invalid_recipient)), t('Caught invalid recipient (' . $invalid_recipient . ').'));
     }
+    
+    // Test validation of empty category and recipients fields.
+    $this->addCategory($category = '', '', '', TRUE);
+    $this->assertText(t('Category field is required.'), t('Caught empty category field'));
+    $this->assertText(t('Recipients field is required.'), t('Caught empty recipients field.'));
 
     // Create valid categories.
     $recipients = array('simpletest@test.com', 'simpletest2@test.com', 'simpletest3@test.com');
