For this you must use the RequireValidator.
1) Add a value for the Select element, which will be used to check the original 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 as follows, comparing the initial value with 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 custom validation for input control. The CustomValidator control is a separate control from the input control, which it validates, which allows you to control where the validation message is displayed.
Class RequiredFieldValidator
Use this control to make input control a required field. Input control fails the test if its value does not change from the InitialValue property after losing focus.
source share