jQuery validation dataFilter returns custom error message from servlet

jQuery validation dataFilter returns custom error message from servlet

Can somebody please help, I use simple java servlet and jquery validation remote and  dataFilter to show a custom error message (returned by the servlet) for "email" field. However, even when validation is successful the error still shows up on the page.
jsp:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery-latest.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script>
<script type="text/javascript">




 $(document).ready(function(){
  $("#myform").validate({
      rules: {
          lastName: "required",
       firstName: {
        required: true
       },
       email: {
                 required: true,
                 email: true,
                 remote: {
           url: "/jquery2/MyMainServlet",
           type: "post",
           async: false, 
           data: {
              email: function() {
               //alert("in");
                return $("#email").val();
              } 
             },
              dataFilter: function(data) {
               if (data != '') {
                return "\"" + data + "\"";
               } else {
                  alert("remote validation passed successfully! No error should be shown!")
                  
var jsonStr = JSON.stringify(true);
                  return jsonStr; //will not make previous error to disappear !
























               } 
                
           }
           }
          
             }
      }
  });
});
</script>
<style type="text/css">









input.error { 
  border-color:red;
  border-style:solid;
  border-width:1px;
}



.error {
  color:red;
}
</style>


</head>
<body>
<h4>This is a heading</h4>
<div id="errorsDiv"></div>
<div id="formDiv">
<form id="myform">
<div>
  <label for="firstName">First Name:</label>
  <input id="firstName" name="firstName" type="text" maxlength="20" />
</div>
<div>
  <label for="lastName">Last Name:</label>
  <input id="lastName" name="lastName" type="text" maxlength="40" />
</div>
<div>
  <label for="email">Email:</label>
  <input id="email" name="email" type="text" maxlength="30" />
</div>















<div><input type="submit" value="Submit" /></div>
</form>
</div>
</body>
</html>


 
MyMainServlet.doPost():
  response.setContentType("text/javascript");
  PrintWriter out = response.getWriter();
  String email = request.getParameter("email");
  System.out.println("email=" + email);
  if (!email.equals("me@yahoo.com")) {
   out.print("You must enter me@yahoo.com!!");
  } else {
   out.print("");
  }







 
If I enter " me@yahoo.c" in email field then I get this error: You must enter me@yahoo.com!!
After that I enter the correct value me@yahoo.com and the email field becomes valid but the error message stays. And not only that, once the correct value is entered the remote ajax call does not get issued anymore though the error message stays all the time.
If I totally remove dataFilter clause and change my doPost() to return true or false:
 if (!email.equals(" me@yahoo.com")) {
    out.print(false);
 } else {
    out.print(true);
  }



 then everything works fine but in that case I can't receive a custom error message from servlet which is what I want.