functionCheckName () {varDeferred = $. Deferred ();//Delay Method varName = $ ("#name"). Val (); varNames = $ ("#names"). Val (); varPid = $ ("#pNodeId"). Val (); varNodeId = $ ("#nodeId"). Val (); $.ajax ({type:"POST", URL:".. /category/verifyname ", Async:false, data:{name:$ ("#name"). Val (), pid:$ ("#pNodeId"). Val (), NodeId: $ ("#nodeId"). Val ()}, DataType:"HTML", Success:function(data, type) {if(data== "OK") {deferred.resolve (); }Else{deferred.reject (); } } }); //deferred.state () has 3 states: pending: Not yet finished, rejected: failed, resolved: Success returnDeferred.state () = = "Resolved"?true:false;}
Remote is implemented by means of Addmethod:
function (value, Element) { return checkname ();},' name already exists ');
Called in Jquey.validate
// The form checks $ (' #form '). Validate ({ submithandler:function(form) { if (CheckName ()) {// before submitting again to verify the duplicate name form.submit (); } }, rules: { name: { true, byterangelength: [2, +], Valcheckname: true }, Note: {byterangelength: [3, +]}} );
Jquery.validate remote verification Another way of writing