| 2 |
lars |
1 |
/**
|
|
|
2 |
* Return true, if the value is a valid date, also making this formal check dd/mm/yyyy.
|
|
|
3 |
*
|
|
|
4 |
* @example $.validator.methods.date("01/01/1900")
|
|
|
5 |
* @result true
|
|
|
6 |
*
|
|
|
7 |
* @example $.validator.methods.date("01/13/1990")
|
|
|
8 |
* @result false
|
|
|
9 |
*
|
|
|
10 |
* @example $.validator.methods.date("01.01.1900")
|
|
|
11 |
* @result false
|
|
|
12 |
*
|
|
|
13 |
* @example <input name="pippo" class="{dateITA:true}" />
|
|
|
14 |
* @desc Declares an optional input element whose value must be a valid date.
|
|
|
15 |
*
|
|
|
16 |
* @name $.validator.methods.dateITA
|
|
|
17 |
* @type Boolean
|
|
|
18 |
* @cat Plugins/Validate/Methods
|
|
|
19 |
*/
|
|
|
20 |
$.validator.addMethod( "dateITA", function( value, element ) {
|
|
|
21 |
var check = false,
|
|
|
22 |
re = /^\d{1,2}\/\d{1,2}\/\d{4}$/,
|
|
|
23 |
adata, gg, mm, aaaa, xdata;
|
|
|
24 |
if ( re.test( value ) ) {
|
|
|
25 |
adata = value.split( "/" );
|
|
|
26 |
gg = parseInt( adata[ 0 ], 10 );
|
|
|
27 |
mm = parseInt( adata[ 1 ], 10 );
|
|
|
28 |
aaaa = parseInt( adata[ 2 ], 10 );
|
|
|
29 |
xdata = new Date( Date.UTC( aaaa, mm - 1, gg, 12, 0, 0, 0 ) );
|
|
|
30 |
if ( ( xdata.getUTCFullYear() === aaaa ) && ( xdata.getUTCMonth() === mm - 1 ) && ( xdata.getUTCDate() === gg ) ) {
|
|
|
31 |
check = true;
|
|
|
32 |
} else {
|
|
|
33 |
check = false;
|
|
|
34 |
}
|
|
|
35 |
} else {
|
|
|
36 |
check = false;
|
|
|
37 |
}
|
|
|
38 |
return this.optional( element ) || check;
|
|
|
39 |
}, $.validator.messages.date );
|