0

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

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

我将以下内容直接放在 aspx 页面上,然后它验证多选,但是一旦我从后面的代码中完成并注册脚本,除了多选之外的所有验证器都可以工作。

$.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>

难道我做错了什么?请帮助各位。

提前致谢。

4

1 回答 1

0

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

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

于 2012-12-11T08:59:39.033 回答