jQuery validator remote method

Ich verwende die Remote-Validierungsmethode und habe Fragen zum folgenden Abschnitt vonhttp: //jqueryvalidation.org/remote-method.

Die Antwort wird als JSON ausgewertet und muss für gültige Elemente wahr sein. Bei ungültigen Elementen kann die Standardnachricht falsch, undefiniert oder null sein. oder eine Zeichenfolge, z. "Dieser Name ist bereits vergeben, versuchen Sie stattdessen peter123", um die Fehlermeldung anzuzeigen.

Wenn der Serverecho('custom error');, die Validierung wird nicht bestanden, der Fehler wird jedoch nicht angezeigt. Warum nicht

Wenn der Server @ ausfühecho(null); oderecho(false);, oder es ist überhaupt kein Echo vorhanden, der Client scheint keine Antwort zu erhalten, die Validierung wird nicht bestanden, und die Standardnachricht wird nicht angezeigt. Sollte die Standardnachricht nicht angezeigt werden? Ebenso, wenn der Server @ ausfühecho('undefined');, der Client erhält "undefiniert", aber die Standardnachricht wird nicht angezeigt.

Server Script

<?php
  header('Content-Type: text/plain;');

  //The following passes validation
  //echo('true');

  //The following results in the client receiving 1, and "1" is displayed as error
  //echo(true);
  //echo(1);
  //echo('1');

  //The following will trigger the default message
  //echo(0);
  //echo('null');
  //echo('false');
  //echo('0');

  //The following results in no ajax response to client, and no message is displayed.
  //Doesn't this result in client getting undefined which should display the default message
  //echo(null);
  //echo(false);
  //no echo at all

  //Client receives "undefined", but it doesn't display the default message.  Shouldn't it?
  //echo('undefined');

  //Client receives "custom error", but it doesn't display this text.  Shouldn't it?
  echo('custom error');
?>

Client Script

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Testing</title>  
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.js" type="text/javascript"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js" type="text/javascript"></script>
        <script type="text/javascript"> 
            $(function(){
                var validator=$("#myForm").validate({
                    rules: {
                        bla: {
                            minlength:2,
                            maxlength:4,
                            required:true,
                            remote: {url:"validate.php",type:'get',data:{a:1,b:2,c:3}}
                            //remote: "validate.php"
                        }
                    },
                    messages: {
                        bla: {
                            remote:"default message"
                        }
                    }
                });
            });
        </script>
    </head>

    <body>
        <form id="myForm" method="post">
            <input name="bla" id="bla" value="">
            <input type="submit" value="submit">
        </form>
    </body> 
</html>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage