remote method

remote( options )Returns: Boolean

Description: Requests a resource to check the element for validity.

  • remote( options )

    • options
      Type: Object
      For the URL of the resource to request for serverside validation (String) or options to fully customize the request, see jQuery.ajax for details.

      These options deep-extend the defaults (dataType:"json", data:{nameOfTheElement:valueOfTheElement}). Any options you provide will override the defaults.

The serverside resource is called via jQuery.ajax (XMLHttpRequest) and gets a key/value pair corresponding to the name of the validated element and its value as a GET parameter. The serverside response must be a JSON string that must be "true" for valid elements, and can be "false", undefined, or null for invalid elements, using the default error message. If the serverside response is a string, eg. "That name is already taken, try peter123 instead", this string will be displayed as a custom error message in place of the default.

For more examples, take a look the marketo demo and the milk demo.

Examples:

Example: Makes the email field required, an email and does a remote request to check if the given address is already taken.

1
2
3
4
5
6
7
8
9
$( "#myform" ).validate({
rules: {
email: {
required: true,
email: true,
remote: "check-email.php"
}
}
});

Example: Makes the email field required, an email and does a remote request to check if the given address is already taken. In addition, the http method is set to "post" and the username is sent alongside the email address.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$( "#myform" ).validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: "check-email.php",
type: "post",
data: {
username: function() {
return $( "#username" ).val();
}
}
}
}
}
});