C# 下拉必需字段验证器

C# 下拉必需字段验证器,c#,C#,我有一个下拉列表,它会自动填充数据库中的值。为此,我在前端使用以下代码: 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_head

我有一个下拉列表,它会自动填充数据库中的值。为此,我在前端使用以下代码:

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
用于将起始下拉列表值设置为空


但使用此必填字段不起作用。单击“保存”按钮时,它不要求输入必填字段,而是保存记录。

执行以下操作,添加带有ValidationGroup的文本框,并在c级别验证该组,如下所示:

<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>
Validate("UserInfor");
    if (Page.IsValid) {
                lblOutput.Text = "Required field is filled!";
             }
             else {
                lblOutput.Text = "Required field is empty!";
             }
用于文本框

<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>

@所需字段验证器的thiru place InitialValue=0


这里InitalValue指的是下拉列表的起始索引

是此web还是Windows应用程序?以及其他问题,您是否使用RequiredFieldValidator?您的意思是如果web?是的。这是一个web应用程序。请查看下面我的答案…我希望对下拉列表进行验证。在这里,您可以直接添加下拉列表值。但我从数据库中填充下拉列表值。通过从数据库中获取值,它仅获取0,1,2中的值…然后,绑定c中的数据后,必须添加ddAge.Items.Insert0、new ListItemSelect One、-1;我从数据库中填充下拉列表值。在运行时,我需要带有空值的下拉列表。这就是为什么我使用UNION添加一个查询。是的,正确。而不是-Select-我使用空字符串。就是这样。请参阅我的代码以进行查看