【问题标题】:Required Field Validator not working for Databound dropdownlist必填字段验证器不适用于数据绑定下拉列表
【发布时间】:2014-09-23 19:05:00
【问题描述】:

我有一个带有必填字段验证器的下拉列表,当用户单击该按钮时该列表未显示。用户必须从下拉列表中选择一个项目,如果他将其留在 --Select One -- 必填字段验证器将触发。我注意到在萤火虫上它显示可见性为隐藏。

<span id="MainContent_RequiredFieldValidator1" style="color: red; visibility: hidden;">*</span>

这适用于我的其他非数据绑定下拉列表。它显示可见性:此下拉列表可见。

 <asp:DropDownList ID="ddlCenter" runat="server" AppendDataBoundItems="True"         
    CssClass="form-control textBoxAsp" DataSourceID="SqlDataSourceCenter" 
    DataTextField="Desc" DataValueField="CenterID">
    <asp:ListItem Text="--Select One--" Value="0" Selected="True" />
 </asp:DropDownList>

 <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1"
     ControlToValidate="ddlCenter"
     Text="*"
     ForeColor="Red"
     ErrorMessage="Center is required."
     InitialValue ="--Select One--"
     ValidationGroup="InsertCenter" />

  <asp:ValidationSummary ID="ValidationSummary1" ForeColor="Red" runat="server" ValidationGroup="InsertCenter" />

   <a runat="server" onserverclick="btnAddCenter_Click" id="btnAddUser" validationgroup="InsertEmployee">Add Center</a>

我尝试设置Display="Static",但Validator控件的样式属性实际上设置为“visibility:hidden”。

我尝试设置 set Display="Dynamic" ,但验证器控件样式属性实际上设置为“display:none

有什么想法吗?

【问题讨论】:

  • 如果我没记错的话——我可能是,我刚醒来——Select One 仍然是一个选项。所以这不是必需字段验证器失败的问题,只是它不知道“必需”是什么意思。您可能必须编写自定义 JavaScript 验证器。
  • ValidationGroup="InsertCenter" 添加到 DropDownList 是否可以解决问题?

标签: c# asp.net validation visual-studio-2012 requiredfieldvalidator


【解决方案1】:

Initial Value 指的是DropDownListValue 属性,而不是Text 值;因此尝试将RequiredFieldValidatorInitial Value 设置为0。

【讨论】:

  • 啊。就是这样,我忽略了这一点。谢谢
猜你喜欢
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 2014-03-17
相关资源
最近更新 更多