Click here to Skip to main content
11,705,451 members (52,634 online)
Click here to Skip to main content

Date Validation in JavaScript

, 21 Apr 2006 CPOL 166.2K 21
Rate this:
Please Sign up or sign in to vote.
An article to validate dates in JavaScript.

Introduction

This code is developed to validate date entered in a web page. I found several other code snippets that provide a solution, but they are all vague and confusing, while this JavaScript script provides an easy method of validating a date. Check out this.

Using the code

Shown below is the core code for the date validation, written in JavaScript:

//
 function IsValidDate(Day,Mn,Yr){
    var DateVal = Mn + "/" + Day + "/" + Yr;
    var dt = new Date(DateVal);

    if(dt.getDate()!=Day){
        alert('Invalid Date');
        return(false);
        }
    else if(dt.getMonth()!=Mn-1){
    //this is for the purpose JavaScript starts the month from 0
        alert('Invalid Date');
        return(false);
        }
    else if(dt.getFullYear()!=Yr){
        alert('Invalid Date');
        return(false);
        }
        
    return(true);
 }
//

If you plan to add this to a custom validator in ASP.NET, then the following method will do:

The code below is written for calling the above JavaScript function:

function CallDateFun(sender, args){
   var d=document.getElementById("DayDropDownListCtl").value
   var m=document.getElementById("MonthDropDownListCtl").value
   var y=document.getElementById("YearDropDownListCtl").value

   if(IsValidDate(d,m,y))
        args.IsValid=true;
   else
        args.IsValid=false;
}

This is the code for the custom validator:

<asp:CustomValidator ID="CustomDateValidatorCtl" 
  runat="server"  ClientValidationFunction="CallDateFun" 
  Text="Invalid Date" ControlToValidate="DayDropDownListCtl">
</asp:CustomValidator>

Note: DayDropDownListCtl, MonthDropDownListCtl, and YearDropDownListCtl are the dropdown lists for the date, month, and year, respectively.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

jebarson
Software Developer (Senior) Microsoft Corporation
India India
I work for Microsoft on MS technologies for application development. My interests include .net, WCF, Azure, Windows Phone, ASP.net, SL, WCF, WPF and many more.

You can visit my site at http://www.jebarson.info

Follow me on twitter @jebarson007

You may also be interested in...

Comments and Discussions

 
QuestionNice Article Pin
Siva Hyderabad3-Apr-14 20:44
memberSiva Hyderabad3-Apr-14 20:44 
GeneralMy vote of 4 Pin
Md. Humayun Rashed1-Jul-12 0:53
memberMd. Humayun Rashed1-Jul-12 0:53 
GeneralMy vote of 1 Pin
John Kasra12-Feb-12 12:09
memberJohn Kasra12-Feb-12 12:09 
GeneralMy vote of 1 Pin
ziaalam27-Jan-12 2:21
memberziaalam27-Jan-12 2:21 
GeneralWorks greatly... Pin
Waleed Eissa29-Sep-08 17:30
memberWaleed Eissa29-Sep-08 17:30 
QuestionHow about marking 'Automatically adjust clock...' Pin
murillobraga18-Jun-08 10:11
membermurillobraga18-Jun-08 10:11 
General30th feb validation Pin
intern8-Jun-08 18:36
memberintern8-Jun-08 18:36 
AnswerRe: 30th feb validation Pin
jebarson17-Jun-08 5:40
memberjebarson17-Jun-08 5:40 
GeneralA approach more easy to use Pin
tiger.zeng4-Feb-07 20:22
membertiger.zeng4-Feb-07 20:22 
GeneralRe: A approach more easy to use Pin
jebarson10-Apr-07 21:55
memberjebarson10-Apr-07 21:55 
Generalcustom validator errormessage Pin
twinvaibhav5-Jan-07 0:21
membertwinvaibhav5-Jan-07 0:21 
GeneralRe: custom validator errormessage Pin
jebarson5-Jan-07 11:10
memberjebarson5-Jan-07 11:10 
GeneralAnother solution Pin
Peter Blum26-Apr-06 6:19
memberPeter Blum26-Apr-06 6:19 
GeneralRe: Another solution Pin
vinodjnair12-Jun-06 0:28
membervinodjnair12-Jun-06 0:28 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150819.1 | Last Updated 21 Apr 2006
Article Copyright 2006 by jebarson
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid