jQuery 验证引擎自定义 javascript 验证

标签 jquery jquery-validation-engine

我正在尝试通过自定义函数使用 jQuery 验证引擎验证子域的可用性。验证似乎正确进行,但如果 .ajax 请求返回 200,则不会显示警报文本。我已添加 Access-Control-Allow-Origin header ,并且可以在日志中看到请求成功完成。

我做错了什么?

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>

最佳答案

问题是 $.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;
                }
            }
        });
}

问题是:您的返回仅针对[第二个函数],而不是针对validateDomain

查看 jquery-validation-engine 的文档我看不出有什么办法可以做你想做的事。

关于jQuery 验证引擎自定义 javascript 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15410319/

相关文章:

php - 如何通过 jQuery.ajax() 将多个参数传递给 PHP?

javascript - 通过 <a> 标签点击验证表单

javascript - jQuery 验证引擎 动态字段验证

jquery - 如何使用 jQuery Validation Engine 和 Twitter Bootstrap modals 修复定位错误

asp.net - 使用带有选项卡的 jQuery 验证引擎?

javascript - Jquery验证引擎ajax,两个字段功能相同?

javascript - $.each 只显示一个系列 Highcharts

javascript - 代码无法在 IE 中隐藏和取消隐藏 Div

javascript - 如何使用 jQuery 切换标签样式

javascript - 悬停时垂直对齐的扩展菜单项和出现的子菜单