Sometime we need to check if
entered date is valid or not, one can eiasly create their own script to
validate or can write pulgin for date validation.
Here I'm writing some script to validate date in mm/dd/yyyy format., there are two option either write method and then call that method wherever you want to validate your date or add your scripts to JQuery validation with class name and then use that class name on control you want to validate. In both cases script will remain same, just way of using script is changed.
http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js
and then write your script as:
use your script as :
<input type="text" name="testDate" value="" class="vaildUSdate" />
Here I'm writing some script to validate date in mm/dd/yyyy format., there are two option either write method and then call that method wherever you want to validate your date or add your scripts to JQuery validation with class name and then use that class name on control you want to validate. In both cases script will remain same, just way of using script is changed.
Method1:
function validateUSFormatDate(dateStr) {
var isValid = false;
var reg = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
if (reg.test(dateStr)) {
var splittedDate = dateStr.split('/');
var mm = parseInt(splittedDate[0], 10);
var dd = parseInt(splittedDate[1], 10);
var yyyy = parseInt(splittedDate[2], 10);
var newDate = new
Date(yyyy, mm - 1, dd);
if ((newDate.getFullYear() == yyyy) &&
(newDate.getMonth() == mm - 1) && (newDate.getDate() == dd))
isValid = true;
else
isValid = false;
}
else
isValid = false;
return isValid;
}
Method2:
if you want to use
your script as a plugin then add following script file in your code:http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js
and then write your script as:
$(document).ready(function () {
// vaildUSdate function : makes sure dates are valid in
US-format: mm/dm/yyyy
jQuery.validator.addMethod("vaildUSdate",
function (value, element) {
var isValid = false;
var reg = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
if (reg.test(value)) {
var splittedDate = value.split('/');
var mm = parseInt(splittedDate[0], 10);
var dd = parseInt(splittedDate[1], 10);
var yyyy = parseInt(splittedDate[2],
10);
var newDate = new
Date(yyyy, mm - 1, dd);
if ((newDate.getFullYear() == yyyy)
&& (newDate.getMonth() == mm - 1)
&& (newDate.getDate() == dd))
isValid = true;
else
isValid = false;
}
else
isValid = false;
return this.optional(element)
|| isValid;
},
"Please enter a valid date (mm/dd/yyyy)");
// attach Validate plugin to form
$("#form").validate();
});
<input type="text" name="testDate" value="" class="vaildUSdate" />
Comments
Post a Comment