繁体   English   中英

下拉必填字段验证器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM