简体   繁体   中英

Issue using remote method in jquery validation

I'm following this article in order to validate my form

My problem is when I have to use the remote method, eg remote: "check-username.php"

Since the documentation for remote method is not so clear for me, I would know:

How I need to structure my json output in php script?

To use the default method for remote , the remote page must respond with a string value of "true" or "false" .

Valid ( success ) Must be:

echo "true";

Invalid ( failure ):

echo "false"; // this can be any false. eg: 0 , "" , NULL.

The response will be evaluated as JSON.

To apply an error message, other than the default for a remote response of invalid ("false"), add the input name to the validator options messages object like so.

rules:{
    username:{
        remote: "check-username.php"
    }
},   
messages:{
    username:{
        remote: jQuery.format('{0} is already in use, please choose a different name')
    }
}

You don't need JSON. You can put any text. For example you can

echo "success";

for passed validation, and enter validation message like:

echo "Username already exists.";

for failed validation.

In your callback do something like this:

remote: {
           url: "check-username.php" ,
           type: "post" ,
           data: {
              username: function() {
              return $("#username").val();
           },
           complete: function(data){
                if( data.responseText != "success" ) {
                   alert(data.responseText);
                   //handle failed validation
                }
             }
         }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM