asp.net - 如何验证列表框不为空(客户端)

标签 asp.net validation listbox customvalidator

我正在使用 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/

相关文章:

asp.net - 查找控件 Asp.net

java - 比较两个整数以检查第二个整数是否更大

amazon-web-services - AWS Api Gateway 自定义请求验证响应

asp.net - 处理 javascript 和 css 文件的最佳做法是什么

asp.net - 我的数据库表未排序

c# - 在 ASP.NET 中将 GridView 导出到 Excel 时如何设置波斯语字符编码?

javascript - 是否有一个明确的解决方案可以使用 jQuery 来验证 URL 而无需插件?

wpf - 如何将 DataTrigger 绑定(bind)到单独的 ListBox ScrollViewer 的 ComputedVerticalScrollBarVisibility 属性?

python - 从列表框项中获取文本

python - 当单击表单上的其他位置时,tkinter 列表框失去了选择