deal with remote error in validation

http://stackoverflow.com/questions/9085086/jquery-validation-plugin-remote-query-error-failure-handling/

by ryleyb

HTML

<script src="http://jquery.bassistance.de/validate/jquery.validate.js"></script>
<form name="myForm">
<fieldset>
<legend>My Form</legend>
First Name: <input type="text" id="firstName" name="firstName"> * remote and required<br>
Last Name: <input type="text" name="lastName">
</fieldset>
<input type="submit">
</form>

CSS

.error { color: red; }

JavaScript

var v = $("form").validate({
    submitHandler: function() {
        console.log('successful submit');
        return false;
    },  
    rules: {
        firstName: {
            remote: {
                url: '/echo/html/',
                timeout: 2000,
                data: {
                    delay: 3,
                    html: 'Bad'
                },
                method: 'post',
                error: function() {
                    console.log('got error');
                    v.pendingRequest--;
                    $('#firstName').rules('remove', 'remote');
                }
            },
            required: true
        }
    }
});