0

我正在使用 jQuery 番茄酱验证插件,可以在这里找到: https ://github.com/mustardamus/ketchup-plugin

它背后的基本思想将自定义验证事件(或规则)绑定到表单中的字段,并且在焦点丢失在字段上之后触发该事件。如果验证规则返回 true,则表示该字段已验证。

我添加了我的自定义验证规则:

jQuery.ketchup.validation('email_unique', _('Email is being used by another user.'), function (form, el, value) {
            $j.ajax({
                url: Routes.webshop_check_email_uniqueness_path().url,
                type: "POST",
                data: {email: el.val()},
                success: function(data) {
                    // this should always work
                    return true;
                }
            });
    });

但这不起作用,它总是返回false。我还尝试通过使用使我的 jQuery 调用同步:async: false但它不起作用。

谢谢你的帮助。

4

1 回答 1

2
jQuery.ketchup.validation('email_unique', _('Email is being used by another user.'), function (form, el, value) {
        var rtn = false;
        $.ajax({
            url: Routes.webshop_check_email_uniqueness_path().url,
            type: "POST",
            async: false,
            data: {email: el.val()},
            success: function(data) {
                // this should always work
                rtn = true;
            }
        });
       return rtn
});
于 2012-09-26T21:03:38.057 回答