kivi.Validator: Jahreszahlen mit mehr als 4 Stellen ablehnen
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 18 Oct 2017 11:54:13 +0000 (13:54 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 18 Oct 2017 11:55:58 +0000 (13:55 +0200)
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
js/t/kivi/parse_format_date.js

index daedfaa..43e3718 100644 (file)
@@ -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;
       }
index 904142d..6cbc9a2 100644 (file)
@@ -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 ) {