use*_*375 62 asp.net validation requiredfieldvalidator drop-down-menu
我有一个DropDownList
带有a 的绑定SqlDataSource
来显示数据库中的值.
我无法使用a验证RequiredFieldValidator
.
Fis*_*ake 97
在大多数情况下,您将其视为验证任何其他类型的控件,但使用所需字段验证器的InitialValue属性.
<asp:RequiredFieldValidator ID="rfv1" runat="server" ControlToValidate="your-dropdownlist" InitialValue="Please select" ErrorMessage="Please select something" />
Run Code Online (Sandbox Code Playgroud)
基本上它所说的是,如果在下拉列表中选择了除InitialValue中的1设置之外的任何其他值,则验证将成功.
如果数据绑定,您需要在以后插入"请选择"值,如下所示
this.ddl1.Items.Insert(0, "Please select");
Run Code Online (Sandbox Code Playgroud)
Bha*_*kar 24
假设您的下拉列表是:
<asp:DropDownList runat="server" id="ddl">
<asp:ListItem Value="0" text="Select a Value">
....
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
你有两种方式:
<asp:RequiredFieldValidator ID="re1" runat="Server" InitialValue="0"....
Run Code Online (Sandbox Code Playgroud)
第二种方法是使用比较验证器:
<asp:CompareValidator ID="re1" runat="Server" ValueToComare="0" ConroltoCompare="ddl" Operator="Equel"....
Run Code Online (Sandbox Code Playgroud)
Ton*_* L. 11
如果您使用的是数据源,这是另一种无需代码的方法.
请注意以下要点:
ListItem
的Value="0"
是源页面,在代码中没有添加上ListItem
,如果你不包括在源将被覆盖
AppendDataBoundItems="true"
在DropDownList
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>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
136394 次 |
最近记录: |