asp.net 如何添加一个RedFieldValidator到DropDownList控件?

oalqel3c  于 2023-11-20  发布在  .NET
关注(0)|答案(5)|浏览(145)

我有一个DropDownList与一个SqlDataSource绑定来显示数据库中的值。
我无法使用RequiredFieldValidator进行验证。

xuo3flqw

xuo3flqw1#

在大多数情况下,您将其视为验证任何其他类型的控件,但使用必填字段验证器的InitialValue属性。

<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="your-dropdownlist" InitialValue="Please select" ErrorMessage="Please select something" />

字符串
基本上,它的意思是,如果在下拉列表中选择了InitialValue中设置的1以外的任何其他值,则验证将成功。
如果是数据绑定,则需要插入“请选择”值,如下所示

this.ddl1.Items.Insert(0, "Please select");

eaf3rand

eaf3rand2#

假设您的下拉式清单为:

<asp:DropDownList runat="server" id="ddl">
<asp:ListItem Value="0" text="Select a Value">
....
</asp:DropDownList>

字符串
方法有两种:

<asp:RequiredFieldValidator ID="re1" runat="Server" InitialValue="0" />


第二种方法是使用比较验证器:

<asp:CompareValidator ID="re1" runat="Server" ValueToCompare="0" ControlToCompare="ddl" Operator="Equal" />

l7mqbcuq

l7mqbcuq3#

如果你正在使用一个数据源,这里有另一种方法来做它没有代码。
注意以下要点:

  • Value="0"ListItem位于源代码页,未在代码中添加
  • 如果DropDownList中不包含AppendDataBoundItems="true",则源中的ListItem将被覆盖
  • InitialValue="0"告诉验证器这是应该触发该验证器的值(如其他答案中所指出的)

范例:

<asp:DropDownList ID="ddlType" runat="server" DataSourceID="sdsType"
                  DataValueField="ID" DataTextField="Name" AppendDataBoundItems="true">
    <asp:ListItem Value="0" Text="--Please Select--" Selected="True"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvType" runat="server" ControlToValidate="ddlType" 
                            InitialValue="0" ErrorMessage="Type required"></asp:RequiredFieldValidator>
<asp:SqlDataSource ID="sdsType" runat="server" 
                   ConnectionString='<%$ ConnectionStrings:TESTConnectionString %>'
                   SelectCommand="SELECT ID, Name FROM Type"></asp:SqlDataSource>

字符串

js4nwp54

js4nwp544#

InitialValue=“0”:初始验证将在ddl中选择第0个索引项时触发。

<asp:RequiredFieldValidator InitialValue="0" Display="Dynamic" CssClass="error" runat="server" ID="your_id" ValidationGroup="validationgroup" ControlToValidate="your_dropdownlist_id" />

字符串

klsxnrf1

klsxnrf15#

如果你想检查空字符串,那么使用以下方法:

<asp:RequiredFieldValidator ID="REQUIREDFIELDVALIDATOR1" ControlToValidate="ControlId" runat="server" ValidationGroup="groupName" InitialValue="" Display="Dynamic" ErrorMessage="Please select" SetFocusOnError="true"></asp:RequiredFieldValidator>

字符串

相关问题