I have one page it is refering from master page.
Validation is working fine for textboxes and not for dropdown.
Please find below the html and c# code.
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxToolkit:ToolkitScriptManager>
<div>
<h2 class="title ">
Add Supplier Details</h2>
</div>
<div style="margin-left: 50px">
<div id="errorContainer">
<p>
Please correct the following errors and try again:</p>
<ul />
</div>
<div>
<asp:Label ID="lbladdsupplier" runat="server" CssClass="lblmsg"></asp:Label>
</div>
<table>
<tr class="row">
<td>
<asp:Label ID="lblcompanyname" runat="server" Text="Company Name :" Width="150" CssClass="label"></asp:Label>
</td>
<td class="tabletd">
<asp:DropDownList ID="companynameDDL" runat="server" Width="205px" CssClass="chzn-select"
Height="25px">
</asp:DropDownList>
</td>
<td class="gaptdwidth">
</td>
<td>
<asp:Label ID="lbladdress" runat="server" Text="Address :" Width="150" CssClass="label"></asp:Label>
</td>
<td class="tabletd" rowspan="2">
<asp:TextBox ID="txtaddress" runat="server" Width="197px" CssClass="textbox" TextMode="MultiLine"
Height="65px"></asp:TextBox>
</td>
</tr>
<tr class="row">
<td>
<asp:Label ID="lblsuppliername" runat="server" Text="Supplier Name :" Width="150"
CssClass="label"></asp:Label>
</td>
<td class="tabletd">
<asp:TextBox ID="txtsuppliername" runat="server" CssClass="textbox"></asp:TextBox>
</td>
</tr>
<tr class="row">
<td>
<asp:Label ID="lblphonenumber" runat="server" Text="Phone No. :" Width="150" CssClass="label"></asp:Label>
</td>
<td class="tabletd">
<asp:TextBox ID="txtphonenumber" runat="server" CssClass="textbox"></asp:TextBox>
</td>
<td class="gaptdwidth">
</td>
<td>
<asp:Label ID="lblmobilenumber" runat="server" Text="Mobile No. :" Width="150" CssClass="label"></asp:Label>
</td>
<td class="tabletd">
<asp:TextBox ID="txtmobilenumber" runat="server" CssClass="textbox"></asp:TextBox>
</td>
</tr>
<tr class="row">
<td>
<asp:Label ID="lblemailid" runat="server" Text="EmailID :" Width="150" CssClass="label"></asp:Label>
</td>
<td class="tabletd">
<asp:TextBox ID="txtemailid" runat="server" CssClass="textbox"></asp:TextBox>
</td>
<td class="gaptdwidth">
</td>
<td>
<asp:Label ID="lblfax" runat="server" Text="Fax :" Width="150" CssClass="label"></asp:Label>
</td>
<td class="tabletd">
<asp:TextBox ID="txtfax" runat="server" CssClass="textbox"></asp:TextBox>
</td>
</tr>
<tr class="row">
<td>
<asp:Label ID="lbldate" runat="server" Text="Date :" Width="150" CssClass="label"></asp:Label>
</td>
<td class="tabletd">
<asp:TextBox ID="txtdate" runat="server" CssClass="textbox"></asp:TextBox>
</td>
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" TargetControlID="txtdate" runat="server" />
</tr>
</table>
<br />
<center>
<fieldset class="btnfieldset">
<legend class="legend" align="center">Operations </legend>
<table cellspacing="20px" align="center" style="height: 74px">
<tr>
<td>
<asp:Button ID="btnadd" runat="server" Text="Save" CssClass="button" BorderStyle="Outset"
OnClick="btnsave_Click" />
</td>
<td>
<asp:Button ID="btnreset" runat="server" Text="Reset" CssClass="button" BorderStyle="Outset"
OnClick="btnreset_Click" />
</td>
</tr>
</table>
</fieldset>
</center>
</div>
<script src="Scripts/chosen.jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//On Page Load
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
//On UpdatePanel Refresh
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
prm.add_endRequest(function (sender, e) {
if (sender._postBackSettings.panelsToUpdate != null) {
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({ allow_single_deselect: true });
}
});
};
</script>
<script type="text/javascript">
$(document).ready(function(){
$.validator.addMethod('selectNone',function(value, element) {
return this.optional(element) || (value.indexOf("--Select--") == 0);
}, "Please select an option");
$("#form1").validate({
// This prevents validation from running on every
// form submission by default.
onsubmit: false,
// submitHandler: function (form)
// {
// form.submit();
// },
rules:
{
<%=companynameDDL.UniqueID %>: {
selectNone: true
},
// <%=companynameDDL.ClientID %>:
// {
//
// selectNone: true
// },
<%=txtaddress.UniqueID %>:
{
required: true
},
<%=txtsuppliername.UniqueID %>:
{
required: true
},
<%=txtphonenumber.UniqueID %>:
{
required: true
},
<%=txtmobilenumber.UniqueID %>:
{
required: true,
digits:true
},
<%=txtemailid.UniqueID %>:
{
required: true
},
<%=txtfax.UniqueID %>:
{
required: true
},
<%=txtdate.UniqueID %>:
{
required: true
}
},
messages:
{
<%=companynameDDL.UniqueID %>:
{
selectNone: "Please select option"
},
<%=txtaddress.UniqueID %>:
{
required: "Please enter address"
},
<%=txtsuppliername.UniqueID %>:
{
required:"Please enter supplier name"
},
<%=txtphonenumber.UniqueID %>:
{
required:"Please enter phone number"
},
<%=txtmobilenumber.UniqueID %>:
{
required:"Please enter mobile number",
digits:"Mobile number should be numbers only"
},
<%=txtemailid.UniqueID %>:
{
required:"Please enter email address"
},
<%=txtfax.UniqueID %>:
{
required:"Please enter fax number"
},
<%=txtdate.UniqueID %>:
{
required:"Please select date"
}
},
errorContainer: $('#errorContainer'),
errorLabelContainer: $('#errorContainer ul'),
wrapper: 'li'
});
$("#ContentPlaceHolder1_btnadd").click(function() {
return $("#form1").valid();
});
});
</script>
</asp:Content>
private void FillCompanyName()
{
CompanyBLL _objFillCompanyname = new CompanyBLL();
try
{
DataSet ds = new DataSet();
ds = _objFillCompanyname.ViewCompanyDetails();
if (ds.Tables[0].Rows.Count > 0)
{
companynameDDL.DataSource = ds;
companynameDDL.DataTextField = "company_name";
companynameDDL.DataValueField = "company_id";
companynameDDL.DataBind();
companynameDDL.Items.Insert(0, new ListItem("--Select--", "0"));
companynameDDL.SelectedItem.Selected = false;
companynameDDL.Items.FindByText("--Select--").Selected = true;
}
else
{
lbladdsupplier.Text = "Failed to Fill Company Names";
}
}
catch (Exception ex)
{
lbladdsupplier.Text = ex.Message;
}
}