Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="jquery-ui.css" />
- <script type="text/javascript" src="jquery-1.4.4.js"></script>
- <script type="text/javascript" src="jquery.validate.js"></script>
- <script type="text/javascript" src="jquery.validate.unobtrusive.js"></script>
- <script type="text/javascript" src="jquery-ui.js"></script>
- <script type="text/javascript">
- $(document).ready(function () {
- $('.date').datepicker({ dateFormat: 'dd/mm/yy' });
- $.validator.addMethod("dateRule", function(value, element) {
- return true;
- },
- "Error message");
- });
- </script>
- </head>
- <body>
- <form>
- Date: <input type="text" name="myDate" class="date dateRule" />
- <input type="submit" />
- </form>
- </body>
- </html>
- jQuery.validator.methods["date"] = function (value, element) { return true; }
- $.validator.methods.date = function (value, element) {
- return this.optional(element) || Globalize.parseDate(value, "d/M/y", "en");
- }
- jQuery.validator.methods.date = function(value, element) {
- var dateRegex = /^(0?[1-9]/|[12]d/|3[01]/){2}(19|20)dd$/;
- return this.optional(element) || dateRegex.test(value);
- };
- jQuery.validator.addMethod(
- "dateITA",
- function(value, element) {
- var check = false;
- var re = /^d{1,2}/d{1,2}/d{4}$/;
- if( re.test(value)){
- var adata = value.split('/');
- var gg = parseInt(adata[0],10);
- var mm = parseInt(adata[1],10);
- var aaaa = parseInt(adata[2],10);
- var xdata = new Date(aaaa,mm-1,gg);
- if ( ( xdata.getFullYear() == aaaa )
- && ( xdata.getMonth () == mm - 1 )
- && ( xdata.getDate() == gg ) )
- check = true;
- else
- check = false;
- } else
- check = false;
- return this.optional(element) || check;
- },
- "Please enter a correct date"
- );
- yepnope({
- test: isNaN(Date.parse("23/2/2012")),
- nope: 'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.0/additional-methods.min.js',
- complete: function () {
- $.validator.methods.date = $.validator.methods.dateITA
- }
- });
- (function ($) {
- var invokeTestDate = function () {
- return $.validator.methods.date.call({
- optional: function () {
- return false;
- }, (new Date(2012,8,23)).toLocaleDateString(), null);
- };
- if (invokeTestDate()) {
- return;
- }
- // http://docs.jquery.com/Plugins/Validation/Methods/date
- $.validator.methods.date = function (value, element) {
- //ES - Chrome does not use the locale when new Date objects instantiated:
- //return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
- var d = new Date();
- return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
- }
- })(jQuery);
- if ($.validator) {
- $.validator.addMethod("date",
- function (value, element, params) {
- if (this.optional(element)) {
- return true;
- }
- var ok = true;
- try {
- $.datepicker.parseDate("dd/mm/yy", value);
- }
- catch (err) {
- ok = false;
- }
- return ok;
- });
- }
- $.validator.addMethod(
- "date",
- function(value, element) {
- var check = false;
- var re = /^d{1,2}/d{1,2}/d{4}$/;
- var reBR = /^d{4}-d{1,2}-d{1,2}$/;
- if( re.test(value)){
- var adata = value.split('/');
- var gg = parseInt(adata[0],10);
- var mm = parseInt(adata[1],10);
- var aaaa = parseInt(adata[2],10);
- var xdata = new Date(aaaa,mm-1,gg);
- if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
- check = true;
- else
- check = false;
- } else if( reBR.test(value)){
- var adata = value.split('-');
- var aaaa = parseInt(adata[0],10);
- var mm = parseInt(adata[1],10);
- var gg = parseInt(adata[2],10);
- var xdata = new Date(aaaa,mm-1,gg);
- if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
- check = true;
- else
- check = false;
- } else
- check = false;
- console.log(check);
- return this.optional(element) || check;
- },
- "Por favor insira uma data válida"
- );
- $.validator.addMethod(
- "dateRule",
- function(value, element) {
- return value.match(/^dd?/dd?/dd$/);
- },
- "Please enter a date in the format dd/mm/yy"
- );
- ^((0?[13578]|10|12)(-|/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|/)((19)([2-9])(d{1})|(20)([01])(d{1})|([8901])(d{1}))|(0?[2469]|11)(-|/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|/)((19)([2-9])(d{1})|(20)([01])(d{1})|([8901])(d{1})))$
- jQuery.extend(jQuery.validator.methods, {
- date: function (value, element) {
- var isChrome = window.chrome;
- // make correction for chrome
- if (isChrome) {
- var d = new Date();
- return this.optional(element) ||
- !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
- }
- // leave default behavior
- else {
- return this.optional(element) ||
- !/Invalid|NaN/.test(new Date(value));
- }
- }
- });
- jQuery.validator.methods["date"] = function (value, element){
- var shortDateFormat = "dd/mm/yy";
- var res = true;
- try {
- $.datepicker.parseDate(shortDateFormat, value);
- } catch (error) {
- res = false;
- }
- return res;
- }
Add Comment
Please, Sign In to add comment