From 22faee923071966f24b041c703aca282cb707fc0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sven=20Sch=C3=B6ling?= Date: Wed, 18 Oct 2017 13:54:13 +0200 Subject: [PATCH] kivi.Validator: Jahreszahlen mit mehr als 4 Stellen ablehnen Das ist in der Praxis mehrfach vorgekommen. Ja, theoretisch ist der 18.10.20017 ein korrektes Datum. In der Praxis ist es zu 100% ein Vertipper. --- js/kivi.js | 2 ++ js/t/kivi/parse_format_date.js | 1 + 2 files changed, 3 insertions(+) diff --git a/js/kivi.js b/js/kivi.js index daedfaa78..43e3718c2 100644 --- a/js/kivi.js +++ b/js/kivi.js @@ -68,6 +68,8 @@ namespace("kivi", function(ns) { if (parts.length == 3) { var year = +parts[ ns._date_format.y ] || 0 * 1 || (new Date()).getFullYear(); + if (year > 9999) + return undefined; if (year < 100) { year += year > 70 ? 1900 : 2000; } diff --git a/js/t/kivi/parse_format_date.js b/js/t/kivi/parse_format_date.js index 904142d88..6cbc9a2b5 100644 --- a/js/t/kivi/parse_format_date.js +++ b/js/t/kivi/parse_format_date.js @@ -24,6 +24,7 @@ QUnit.test("kivi.parse_date function for German date style with dots", function( assert.deepEqual(kivi.parse_date("::"), undefined); assert.deepEqual(kivi.parse_date(""), null); assert.deepEqual(kivi.parse_date("0"), new Date()); + assert.deepEqual(kivi.parse_date("29.02.20008"), undefined); }); QUnit.test("kivi.parse_date function for German date style with slashes", function( assert ) { -- 2.39.5