Click here to Skip to main content
Licence CPOL
First Posted 21 Apr 2006
Views 127,056
Bookmarked 21 times

Date Validation in JavaScript

By | 21 Apr 2006 | Article
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)

About the Author

jebarson

Software Developer (Senior)
Microsoft Corporation
India India

Member

Follow on Twitter Follow on Twitter
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

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 1 PinmemberJohn Kasra12:09 12 Feb '12  
GeneralMy vote of 1 Pinmemberziaalam2:21 27 Jan '12  
GeneralWorks greatly... PinmemberWaleed Eissa17:30 29 Sep '08  
QuestionHow about marking 'Automatically adjust clock...' Pinmembermurillobraga10:11 18 Jun '08  
General30th feb validation Pinmemberintern18:36 8 Jun '08  
AnswerRe: 30th feb validation Pinmemberjebarson5:40 17 Jun '08  
GeneralA approach more easy to use Pinmembertiger.zeng20:22 4 Feb '07  
GeneralRe: A approach more easy to use Pinmemberjebarson21:55 10 Apr '07  
Generalcustom validator errormessage Pinmembertwinvaibhav0:21 5 Jan '07  
GeneralRe: custom validator errormessage Pinmemberjebarson11:10 5 Jan '07  
GeneralAnother solution PinmemberPeter Blum6:19 26 Apr '06  
GeneralRe: Another solution Pinmembervinodjnair0:28 12 Jun '06  

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.

Permalink | Advertise | Privacy | Mobile
Web02 | 2.5.120528.1 | Last Updated 21 Apr 2006
Article Copyright 2006 by jebarson
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid