Index: forms.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/forms/forms.module,v
retrieving revision 1.14
diff -u -F^f -r1.14 forms.module
--- forms.module	27 Nov 2004 02:05:09 -0000	1.14
+++ forms.module	28 Jun 2005 05:45:22 -0000
@@ -201,9 +201,15 @@ function forms_validate($form, $edit) {
   $error = false;
   
   foreach ($form->fields as $field) {
-    if ($field->required && (!$edit[$field->name] || $edit[$field->name] === false)) {
-      form_set_error($field->name, t('%field is required', array('%field' => '<em>'.$field->title.'</em>')));
-      $error = true;
+  
+    if (!$edit[$field->name] || $edit[$field->name] === false) {
+      if ($field->required) {
+        form_set_error($field->name, t('%field is required', array('%field' => '<em>'.$field->title.'</em>')));
+        $error = true;
+      } else {
+        // empty fields shouldn't need validation if not required
+        continue;
+      }
     }
 
     // check the validation callback
