我正在使用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>
我做错了吗?请帮帮我们。
提前致谢。
答案 0 :(得分:0)
好的,2天后我终于弄清楚发生了什么,结果是使用jQuery multiSelect的控件,他们的UniqueID附加了_multiSelect,而ClientID附加了$ multiSelect。
在获取Client / UniqueID时添加了这些字符串并且它可以正常工作。