<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testc.aspx.cs" Inherits="testc" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript">
function ValidateDate(sender, args) {
var dateString = document.getElementById("ddlday").value + "/" + document.getElementById("ddlmonth").value +
"/" + document.getElementById("ddlyear").value ;
alert(dateString)
var regex = /(((0|1)[0-9]|2[0-9]|3[0-1])\/(0[1-9]|1[0-2])\/((19|20)\d\d))$/;
if (regex.test(dateString)) {
var parts = dateString.split("/");
var dt = new Date(parts[1] + "/" + parts[0] + "/" + parts[2]);
args.IsValid = (dt.getDate() == parts[0] && dt.getMonth() + 1 == parts[1] && dt.getFullYear() == parts[2]);
} else {
args.IsValid = false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div class="selectWrapper">
<label>Date of registration</label>
<div class="selectContainer">
<div class="innerContainer">
<div class="selectText" id="selectday" runat="server" >Day</div>
<asp:DropDownList ID="ddlday" runat="server">
<asp:ListItem>Day</asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="selectContainer">
<div class="innerContainer">
<div class="selectText">Month</div>
<asp:DropDownList ID="ddlmonth" runat="server">
<asp:ListItem>Month</asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="selectContainer">
<div class="innerContainer">
<div class="selectText">Year</div>
<asp:DropDownList ID="ddlyear" runat="server">
<asp:ListItem>Year</asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
<asp:CustomValidator runat="server" ClientValidationFunction="ValidateDate"
ErrorMessage="Invalid Date." OnServerValidate="ValidateDate" ValidationGroup="Group2" />
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="Group2" />
</form>
</body>
</html>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript">
function ValidateDate(sender, args) {
var dateString = document.getElementById("ddlday").value + "/" + document.getElementById("ddlmonth").value +
"/" + document.getElementById("ddlyear").value ;
alert(dateString)
var regex = /(((0|1)[0-9]|2[0-9]|3[0-1])\/(0[1-9]|1[0-2])\/((19|20)\d\d))$/;
if (regex.test(dateString)) {
var parts = dateString.split("/");
var dt = new Date(parts[1] + "/" + parts[0] + "/" + parts[2]);
args.IsValid = (dt.getDate() == parts[0] && dt.getMonth() + 1 == parts[1] && dt.getFullYear() == parts[2]);
} else {
args.IsValid = false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div class="selectWrapper">
<label>Date of registration</label>
<div class="selectContainer">
<div class="innerContainer">
<div class="selectText" id="selectday" runat="server" >Day</div>
<asp:DropDownList ID="ddlday" runat="server">
<asp:ListItem>Day</asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="selectContainer">
<div class="innerContainer">
<div class="selectText">Month</div>
<asp:DropDownList ID="ddlmonth" runat="server">
<asp:ListItem>Month</asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="selectContainer">
<div class="innerContainer">
<div class="selectText">Year</div>
<asp:DropDownList ID="ddlyear" runat="server">
<asp:ListItem>Year</asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
<asp:CustomValidator runat="server" ClientValidationFunction="ValidateDate"
ErrorMessage="Invalid Date." OnServerValidate="ValidateDate" ValidationGroup="Group2" />
<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="Group2" />
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;
using System.Globalization;
public partial class testc : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindddlDayMonthYear();
}
}
protected void ValidateDate(object sender, ServerValidateEventArgs e)
{
string txtDate3 = ddlday.SelectedValue + "/" + ddlmonth.SelectedValue + "/" + ddlyear;
if (Regex.IsMatch(txtDate3, "(((0|1)[0-9]|2[0-9]|3[0-1])\\/(0[1-9]|1[0-2])\\/((19|20)\\d\\d))$"))
{
DateTime dt;
e.IsValid = DateTime.TryParseExact(e.Value, "dd/MM/yyyy", new CultureInfo("en-GB"), DateTimeStyles.None, out dt);
if (e.IsValid)
{
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Valid Date.');", true);
}
}
else
{
e.IsValid = false;
}
}
protected void bindddlDayMonthYear()
{
ddlday.Items.Clear();
for (int i = 1; i <= 31; i++)
{
if (i < 10)
{ ddlday.Items.Add(new ListItem("0" + i.ToString())); }
else
{ ddlday.Items.Add(new ListItem(i.ToString())); }
}
ddlday.Items.Insert(0, "Day");
ddlmonth.Items.Clear();
for (int i = 1; i <= 12; i++)
{
if (i < 10)
{ ddlmonth.Items.Add(new ListItem("0" + i.ToString())); }
else
{
ddlmonth.Items.Add(new ListItem(i.ToString()));
}
}
ddlmonth.Items.Insert(0, "Month");
ddlyear.Items.Clear();
for (int i = 1980; i <= DateTime.Now.Year; i++)
{
ddlyear.Items.Add(new ListItem(i.ToString()));
}
ddlyear.Items.Insert(0, "Year");
}
}