Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.Net Custom Validator control with DropDownList

Tags:

asp.net

The following code is used for validating DropDownList control using Custom Validator.

Default1.aspx

<td>
        <asp:DropDownList ID="DDL_Product" runat="server" Height="21px" Width="128px">
             <asp:ListItem>Select</asp:ListItem>
             <asp:ListItem>Nokia</asp:ListItem>
             <asp:ListItem>LG</asp:ListItem>
             <asp:ListItem>Samsung</asp:ListItem>
             <asp:ListItem>sony</asp:ListItem>
             <asp:ListItem>Micromax</asp:ListItem>
             <asp:ListItem>Karbonn</asp:ListItem>
             <asp:ListItem>Apple</asp:ListItem>
         </asp:DropDownList>
    </td>
    <td>
         <asp:CustomValidator ID="cv1" Display="Dynamic" ControlToValidate = "DDL_Product" OnServerValidate="ddl_server" runat="server" ForeColor="Red" ErrorMessage="Please Select the Product"></asp:CustomValidator>
    </td>

Default1.aspx.cs

protected void ddl_server(object sender, ServerValidateEventArgs e)
{
     if (e.Value.selectedIndex <= 0)
     {
        e.IsValid = true;
     }
     else
     {
        e.IsValid = false;
     }
}

The above validation not validating. I don't know how to use this control and validate the DropDownList. Please Correct the error.

like image 769
Hari Avatar asked Jul 15 '13 13:07

Hari


1 Answers

You should use RequireValidator for this.

1) Add the value for the "Select" item, will be used to validate the initial value:

<asp:DropDownList ID="DDL_Product" runat="server" Height="21px" Width="128px">
       <asp:ListItem Value="0">Select</asp:ListItem>
       /*Rest of items*/
</asp:DropDownList>

2) Then use the RequireValidator like this, comparing the initial value from the DDL:

<asp:RequiredFieldValidator InitialValue="0" 
    ID="rfvDDL_Product" Display="Dynamic" 
    ControlToValidate="DDL_Product"
    runat="server"  Text="*" 
    ErrorMessage="Please Select the Product"
    ForeColor="Red">
</asp:RequiredFieldValidator>

EDIT:

For explanation, from MSDN:

CustomValidator Class

Use the CustomValidator control to provide a user-defined validation function for an input control. The CustomValidator control is a separate control from the input control it validates, which allows you to control where the validation message is displayed.

RequiredFieldValidator Class

Use this control to make an input control a required field. The input control fails validation if its value does not change from the InitialValue property upon losing focus.

like image 148
Fals Avatar answered Nov 15 '22 07:11

Fals