[英]Dropdown Required field validator
我有一个下拉列表,它会自动从数据库填充值。 为此,我在前端使用以下代码:
public void des_fill()
{
string q = "SELECT -1 AS pick_det_id,'' AS pick_det_name UNION select pick_det_id,pick_det_name from tbl_pick_list_detail where pick_hdr_id=(select pick_hdr_id from tbl_pick_list_header where pick_hdr_name='Designation')";
isopen();
conn.Open();
code cd = new code();
SqlDataReader dr = cd.Reader(q);
ddlDes.DataSource = dr;
ddlDes.DataValueField = "pick_det_id";
ddlDes.DataTextField = "pick_det_name";
ddlDes.DataBind();
conn.Close();
}
我正在使用这个:
SELECT -1 AS pick_det_id,'' AS pick_det_name UNION
将起始下拉列表值设置为空。
但是通过使用此必填字段无效。 当我单击“保存”按钮时,它不会询问必填字段,而是保存记录。
@thiru用于必填字段验证器位置InitialValue = 0 <asp:RequiredFieldValidator ID="RFVQualification" runat="server" ControlToValidate="ddlQualification" CssClass="requiredfieldvalidatorstyle" Display="Static" ErrorMessage="*" InitialValue="0"></asp:RequiredFieldValidator>
这里的InitalValue是指DropDown的起始索引
执行以下操作,添加带有ValidationGroup的文本框,并在c#级别上验证该组,如下所示:
用于文本框
<asp:TextBox ID="FirstName" runat="server"
AutoPostBack="false" ValidationGroup="UserInfor"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server" ControlToValidate="FirstName"
ErrorMessage="First Name is requried" ForeColor="Red"
ValidationGroup="UserInfor"> </asp:RequiredFieldValidator>
对于下拉列表,您应该添加值InitialValue,如下所示:
<asp:DropDownList runat="server" id="ddAge" ValidationGroup="UserInfor">
<asp:ListItem Value="-1" text="Select a Value">
<asp:ListItem Value="15" text="15 years">
<asp:ListItem Value="20" text="20 years">
<asp:ListItem Value="30" text="30 years">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2"
runat="server" ControlToValidate="ddAge" InitialValue="-1"
ErrorMessage="Age requried" ForeColor="Red"
ValidationGroup="UserInfor"> </asp:RequiredFieldValidator>
然后在c#级别中添加以下内容:
Validate("UserInfor");
if (Page.IsValid) {
lblOutput.Text = "Required field is filled!";
}
else {
lblOutput.Text = "Required field is empty!";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.