我有一个DropDownList与一个SqlDataSource绑定来显示数据库中的值。我无法使用RequiredFieldValidator进行验证。
DropDownList
SqlDataSource
RequiredFieldValidator
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");
型
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" />
l7mqbcuq3#
如果你正在使用一个数据源,这里有另一种方法来做它没有代码。注意以下要点:
Value="0"
ListItem
AppendDataBoundItems="true"
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>
字符串
js4nwp544#
InitialValue=“0”:初始验证将在ddl中选择第0个索引项时触发。
<asp:RequiredFieldValidator InitialValue="0" Display="Dynamic" CssClass="error" runat="server" ID="your_id" ValidationGroup="validationgroup" ControlToValidate="your_dropdownlist_id" />
klsxnrf15#
如果你想检查空字符串,那么使用以下方法:
<asp:RequiredFieldValidator ID="REQUIREDFIELDVALIDATOR1" ControlToValidate="ControlId" runat="server" ValidationGroup="groupName" InitialValue="" Display="Dynamic" ErrorMessage="Please select" SetFocusOnError="true"></asp:RequiredFieldValidator>
5条答案
按热度按时间xuo3flqw1#
在大多数情况下,您将其视为验证任何其他类型的控件,但使用必填字段验证器的InitialValue属性。
字符串
基本上,它的意思是,如果在下拉列表中选择了InitialValue中设置的1以外的任何其他值,则验证将成功。
如果是数据绑定,则需要插入“请选择”值,如下所示
型
eaf3rand2#
假设您的下拉式清单为:
字符串
方法有两种:
型
第二种方法是使用比较验证器:
型
l7mqbcuq3#
如果你正在使用一个数据源,这里有另一种方法来做它没有代码。
注意以下要点:
Value="0"
的ListItem
位于源代码页,未在代码中添加DropDownList
中不包含AppendDataBoundItems="true"
,则源中的ListItem
将被覆盖InitialValue="0"
告诉验证器这是应该触发该验证器的值(如其他答案中所指出的)范例:
字符串
js4nwp544#
InitialValue=“0”:初始验证将在ddl中选择第0个索引项时触发。
字符串
klsxnrf15#
如果你想检查空字符串,那么使用以下方法:
字符串