jQuery验证不起作用

埃桑·萨德吉(Ehsan Sadeghi)

我有此代码进行验证,但即使返回true,它也会显示错误。我将所有return false更改为true,但显示错误。第二,我想显示result.message而不是“用户名已被占用”。

    $.validator.addMethod("uniqueUserName", function (value, element) {
        $.ajax({
            type: "post",
            url: "/validation/search",
            data: {
                nationalCode: $('#karkonan_MelliCode').val(),
                personType: $('#karkonan_MelliatCode').val()
            },
            dataType: "json",
            async: false,
            success: function (result) {
               // alert(result.message);
               // alert(result.resultCode);
                // if the user exists, it returns a string "true"
                if (result.resultCode == "0") {
                    alert($('#karkonan_MelliatCode').val());// already exists
                    //j = result.message;// already exists
                    return false;
                }
                else {
                    alert($('#karkonan_MelliatCode').val());
                    return true;      // username is free to use
                }
            },
            error: function (result) {
                // if the user exists, it returns a string "true"
                alert("error");
                return false;
                // username is free to use
            }
        })
    }, "Username is Already Taken");

它的规则是:

'karkonan.MelliCode': {
                        number:true,
                        minlength: 10,
                        maxlength: 10,
                        required: true,
                        withmelliat:true,
                        uniqueUserName: true
                    },
尼古拉斯·阿尔伯特

addMethod可能需要立即回调响应。

您执行一个Ajax,并且响应是异步的。returnsuccesserror处理程序中的语句不申请addMethod返回值(在Ajax请求之后和响应之前立即完成)。

要进行检查,请在return true;此处添加

    });
    return true;
}, "Username is Already Taken");

我还没有解决方案,我(而且您已经)阅读了您的验证器插件文档

您还必须阅读remote此插件属性:在此处的文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章