jQuery验证引擎自定义javascript验证

jQuery验证引擎自定义javascript验证,jquery,jquery-validation-engine,Jquery,Jquery Validation Engine,我试图通过一个自定义函数使用jQuery验证引擎验证子域的可用性。验证似乎正确进行,但如果.ajax请求返回200,则不会显示alertText。我添加了Access Control Allow Origin标题,可以在我的日志中看到请求成功完成 我做错了什么 Javascript函数: function validateDomain(field, rules, i, options) { var url = "https://" + field.val() + ".example.co

我试图通过一个自定义函数使用jQuery验证引擎验证子域的可用性。验证似乎正确进行,但如果.ajax请求返回200,则不会显示alertText。我添加了
Access Control Allow Origin
标题,可以在我的日志中看到请求成功完成

我做错了什么

Javascript函数:

function validateDomain(field, rules, i, options) {
    var url = "https://" + field.val() + ".example.com/";
    $.ajax(url,
        {
            statusCode: {
                200: function() {
                    //alert('name exists already');
                    return options.allrules.validate2fields.alertText;
                }
            }
        });
}
表单字段:

    <label class="required" for="signup[subdomain]">Subdomain<span>*</span></label>
    <span>https://</span>
    <input id="signup[subdomain]" name="signup[subdomain]" class="field field validate[required,funcCall[validateDomain]]" type="text">
   <span>.example.com</span>
子域*
https://
.example.com

问题在于
$。ajax
是一个异步函数,不能以这种方式工作

function validateDomain(field, rules, i, options) {
    var url = "https://" + field.val() + ".example.com/";
    $.ajax(url,
        {
            statusCode: {
                200: function() { // [ second function ]
                    return options.allrules.validate2fields.alertText;
                }
            }
        });
}
问题是:您的返回仅针对
[second function]
而不是
validateDomain


查看的文档中,我看不出一种做你想做的事情的方法。

你能添加一个错误处理程序,看看它是否被执行,我怀疑是一个解析错误正在发生。看起来像是你的一个副本,你已经标记了这两个,但这是两个完全不同的插件。你真正使用的是哪一个?Sparky编辑了正确的插件。我正在使用jquery验证引擎@贝基,这就是我需要的。为请求添加回调可以正常工作。