我正在验证一个复选框列表,使用自定义验证器和jquery来检查所需的验证,它的验证正常,但它没有关注错误。
CheckBoxList和CustomValidator的asp.net是:
<asp:CheckBoxList ID="cblSellerCategories"
runat="server"
RepeatDirection="Horizontal">
</asp:CheckBoxList>
<asp:CustomValidator ID="CustomValidator2"
runat="server"
ClientValidationFunction="CheckSellerCategory"
CssClass="errorBox"
ErrorMessage="Select seller type"
SetFocusOnError="True">
</asp:CustomValidator>
和Jquery是
function CheckSellerCategory(sender, args) {
args.IsValid = false;
$("[id$='cblSellerCategories']").find(":checkbox").each(function () {
if (jQuery(this).attr("checked")) {
args.IsValid = true;
return;
}
});
}
如何关注错误(如果未选中任何复选框)。我也尝试过验证组,但没有运气。
答案 0 :(得分:4)
如果SetFocusOnError
无效,您可以手动设置焦点
if (!args.IsValid)
$("[id$='cblSellerCategories'] :checkbox:first").focus();
所以你的代码将是
function CheckSellerCategory(sender, args) {
args.IsValid = false;
$("[id$='cblSellerCategories']").find(":checkbox").each(function () {
if (jQuery(this).attr("checked")) {
args.IsValid = true;
return;
}
});
if (!args.IsValid)
$("[id$='cblSellerCategories'] :checkbox:first").focus();
}