【问题标题】:Required Field Validator for Dropdown not working下拉菜单的必填字段验证器不起作用
【发布时间】:2016-05-09 23:06:15
【问题描述】:

为什么这个下拉菜单的必填字段 avlidator 不起作用?我正在绑定数据库中的项目。

这是级联下拉菜单。Here's the image of the code

【问题讨论】:

  • 不工作是什么意思?解释更多。就目前而言,您的问题应该在不清楚的情况下结束。
  • 如果我点击提交按钮而不选择任何下拉选项,必填字段验证器不会被触发。
  • 您目前拥有的应该可以正常工作。您需要发布您的代码。

标签: asp.net validation webforms


【解决方案1】:

RequiredFieldValidator 控件仅在 DropDownList 中的选定值 (ListItem) 为空时才有效。

例如:

<asp:DropDownList ID="ddlList" runat="server">
    <asp:ListItem Value="">Select from the list...</asp:ListItem>
    <asp:ListItem Value="1">Alpha</asp:ListItem>
    <asp:ListItem Value="2">Bravo</asp:ListItem>
    <asp:ListItem Value="3">Charlie</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfv_List" runat="server"
     ControlToValidate="ddlList" ErrorMessage="Select from the list." />

您也可以使用 HTML5 的 required 属性来代替验证器控件:

<asp:DropDownList ID="ddlList" runat="server" required>
    <asp:ListItem Value="">Select from the list...</asp:ListItem>
    <asp:ListItem Value="1">Alpha</asp:ListItem>
    <asp:ListItem Value="2">Bravo</asp:ListItem>
    <asp:ListItem Value="3">Charlie</asp:ListItem>
</asp:DropDownList>

【讨论】:

  • 这不是真的,因为我已经能够使用 RequiredFieldValidators 并将所选值设置为“-1”
  • @terbubbs 点了。但我故意没有包含 InitialValue 属性,所以默认值必须为空。
  • 如果你确实想要InitialValue,试试这个解决方案stackoverflow.com/questions/22165174/…
【解决方案2】:

RequiredFieldValidator 中删除Enabled="false"

【讨论】:

  • 您的提交按钮上是否设置了ValidationGroup
  • 拉娜,其实没关系
  • 由于它是在RequiredFieldValidator 上设置的,我相信它也需要在控件上设置以进行验证,以及导致验证发生的按钮。就目前而言,它只设置在RequiredFieldValidator
  • 我确实最终从代码隐藏解决了这个问题,但我仍然想知道为什么它不能从 aspx 页面工作。
【解决方案3】:

我认为这是因为您的默认列表项值为-1,请尝试使用

<asp:ListItem value="">...</asp:ListItem>

或 RangeValidator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 2015-12-29
    • 2013-04-18
    相关资源
    最近更新 更多