ASP.NET和jQuery远程验证:未调用验证功能

时间:2014-10-28 13:04:15

标签: asp.net jquery-validation-engine

我有这个客户端功能:

$(document).ready(function() {
    var validate = $("#<%=Page.Form.ClientID%>").validate({
        errorElement: 'span',                
        rules: {
            <%=txtMemberShipNumber.ClientID %> : {
                        required: true,
                        remote: function () {
                            return {
                                url: "/TestForm.aspx/IsMembershipNumberValid",
                                type: "POST",
                                contentType: "application/json; charset=utf-8",
                                dataType: "json",
                                data: JSON.stringify({ value: $('#<%=txtMemberShipNumber.ClientID %>').val() }),
                                dataFilter: function (data) {
                                    var msg = JSON.parse(data);
                                    if (msg.hasOwnProperty('d'))
                                        return msg.d;
                                    else
                                        return msg;
                                }
                            }
                        },
                    },
                },
                messages: {
                    <%=txtMemberShipNumber.ClientID %> : {
                        required: "Account number is Required",
                        remote: "Invalid",
                    },
                },
                onkeyup:false,
                onblur: true,
                onfocusout: function (element) { $(element).valid() }
 });

})

...验证此控件:

<input name="ctl00$MainContent$txtMemberShipNumber" type="text" id="MainContent_txtMemberShipNumber" class="textboxStyle" placeholder="Membership Number" />

问题是永远不会调用验证代码。我已在Firefox和Chrome中测试过它。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我明白了。

而不是

  

&lt;%= txtMemberShipNumber.ClientID%&gt; :{

......你应该使用

  

&LT;%= txtMemberShipNumber的的UniqueID %GT。 :{