Subversion-Projekte lars-tiefland.zeldi.de_alt

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
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 );