jQuery验证不使用jQuery multiselect

时间:2012-12-10 12:37:23

标签: c# jquery-validate

我正在使用jQuery验证器来验证jQuery多选下拉列表,但它没有验证,我的函数如下:

这些函数是从我的代码后面创建的,并使用ScriptManager.RegisterClientScriptBlock在页面上注册。

我将以下内容直接放在aspx页面上然后验证multiselect,但是只要我从后面的代码执行并注册脚本,除了multiselect之外的所有验证器都可以工作。

$.validator.addMethod('notNone', function(value, element) {  
            return (value != '-1');
        }, 'Please select an option.');

var $callback = $("#callback");
        $(document).ready(function () {
            $("#<%=example.ClientID%>").multiselect(
            {
                show: "fade",
                hide: "fade",
                click: function (event, ui) {
                    $callback.text(ui.text + ' ' + (ui.checked ? 'checked' : 'unchecked'));
                },
            });
        });

 $("#form1").validate({
                rules: {
                    <%=example.UniqueID %>: {
                    notNone: true,
                    },
                    <%=txtPassword.UniqueID %>: {
                        //minlength: 5,
                        //required: true
                    },

                   <%=TextIdea.UniqueID %>: {
                        //minlength: 5,
                        //required: true
                 },

                 <%=ddlTest.UniqueID %>: {
                        //notNone: true
                 },

                 redemption : {
                        redemption : false
                 },

                 redemption: {
                        redemptionEnd : false
                        },
                 },
ignore: ':hidden:not("#<%=example.ClientID %>")',

                 messages: {
                    <%=example.UniqueID %>:{
                        notNone: "Plaese select something",                            
                        },
                    <%=txtPassword.UniqueID %>:{
                        required: "Plaese enter your password",
                        minlength: "Password must be atleaet of 5 characters"
                         },    
                     <%=TextIdea.UniqueID %>:{
                      required: "Plaese enter your Ideas",
                      minlength: "Password must be atleaet of 5 characters"
                },
              }
            });

我的标记:

<select id="example" name="example" runat="server">
    </select>

我做错了吗?请帮帮我们。

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,2天后我终于弄清楚发生了什么,结果是使用jQuery multiSelect的控件,他们的UniqueID附加了_multiSelect,而ClientID附加了$ multiSelect。

在获取Client / UniqueID时添加了这些字符串并且它可以正常工作。