diff --git nodecomment.module nodecomment.module
index e71eccd..6e31229 100644
--- nodecomment.module
+++ nodecomment.module
@@ -413,6 +413,15 @@ function nodecomment_form_alter(&$form, &$form_state, $form_id) {
             '#default_value' => $node->homepage,
             '#required' => ($anon_meta_info == COMMENT_ANONYMOUS_MUST_CONTACT)
           );
+          
+          // Store target type in the form for the validate callback.
+          $form['comment_info']['target_type'] = array(
+            '#type' => 'value',
+            '#value' => $target->type,
+          );
+          // Attach anonymous info validation.
+          $form['#validate'][] = 'nodecomment_node_form_validate';
+           
         }
         else {
           $form['comment_info']['mail'] = array(
@@ -504,6 +513,39 @@ function nodecomment_form_alter(&$form, &$form_state, $form_id) {
 }
 
 /**
+ * Validate anonymous info (mail, homepage etc).
+ */
+function nodecomment_node_form_validate(&$form, &$form_state) {
+  $target_type = $form['comment_info']['target_type']['#value']; 
+  $requirement = variable_get('comment_anonymous_'. $target_type, COMMENT_ANONYMOUS_MAYNOT_CONTACT);
+  
+  if ($form_state['values']['name']) {
+    $taken = db_result(db_query("SELECT COUNT(uid) FROM {users} WHERE LOWER(name) = '%s'", $form_state['values']['name']));
+    if ($taken != 0) {
+      form_set_error('name', t('The name you used belongs to a registered user.'));
+    }
+  }
+  else if ($requirement == COMMENT_ANONYMOUS_MUST_CONTACT) {
+    form_set_error('name', t('You have to leave your name.'));
+  }
+  
+  if ($form_state['values']['mail']) {
+    if (!valid_email_address($form_state['values']['mail'])) {
+      form_set_error('mail', t('The e-mail address you specified is not valid.'));
+    }
+  }
+  else if ($requirement == COMMENT_ANONYMOUS_MUST_CONTACT) {
+    form_set_error('mail', t('You have to leave an e-mail address.'));
+  }
+
+  if ($form_state['values']['homepage']) {
+    if (!valid_url($form_state['values']['homepage'], TRUE)) {
+      form_set_error('homepage', t('The URL of your homepage is not valid. Remember that it must be fully qualified, i.e. of the form <code>http://example.com/directory</code>.'));
+    }
+  }
+}
+
+/**
  * Redirect the node form to the right place.
  */
 function nodecomment_node_form_submit(&$form, &$form_state) {
