我正在使用 ASP.NET 3.5。 我有一个列表框,用户必须向其中添加项目(我已经为此编写了代码)。我的要求是至少必须将一项添加到列表框中,否则他们无法提交表单。我的页面上还有其他几个验证器,它们都写入 ValidationSummary 控件。我希望此列表框验证也写入验证摘要控件。任何帮助是极大的赞赏。谢谢。
最佳答案
放入自定义验证器,向其中添加所需的错误消息,双击自定义验证器以获取事件处理程序后面的代码,然后您将像这样实现服务器端:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = ListBox1.Items.Count > 0;
}
您也可以实现客户端 JavaScript。
我只是把它放在一个页面上并快速测试它,所以你可能需要稍微调整一下:(按钮1仅向列表框添加一个项目)
<script language="JavaScript">
<!--
function ListBoxValid(sender, args)
{
args.IsValid = sender.options.length > 0;
}
// -->
</script>
<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" ValidationGroup="NOVALID" />
<asp:Button ID="Button2" runat="server" Text="ButtonsUBMIT" />
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="CustomValidator"
onservervalidate="CustomValidator1_ServerValidate" ClientValidationFunction="ListBoxValid"></asp:CustomValidator>
如果您向页面添加验证摘要,则如果 ListBox 或其他可收集控件中没有项目,无论您想使用什么,只要 ValidationGroup 中没有项目,错误文本就会显示在该摘要中是一样的。
关于asp.net - 如何验证列表框不为空(客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/127728/