2017-01-03 1 views
0

Ich bin mit jQuery UI-Version 1.12.1 und jQuery Validation v1.15.0Wo lösen Sie die "Bitte geben Sie ein gültiges Datum ein." in jquery.validate.js

ich eine Datepicker wie folgt erstellt:

if ($.fn.datepicker) $(':input.date').datepicker({ 
      changeMonth: true, 
      changeYear: true 
    }); 

Standardmäßig wird das Datumsformat sein mm dd/mm/yyyy werden/tt/zum Beispiel 2017.01.26 stellen 26. Januar 2017.

ich versuche, das Datumsformat zu ändern, damit ich die Datepicker picker~~POS=HEADCOMP wie folgt zu ändern:

if ($.fn.datepicker) $(':input.date').datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     dateFormat: 'dd/mm/yy' 
}); 

Nun, jetzt die Datumsformatanzeige korrekt wie ich es wünsche, wird es 26.01.2017, 26. Januar 2017.

Allerdings wirft es eine rote Fehlermeldung Please enter a valid date.. Nach meinem Debugging, fand ich, dass die Fehlermeldung tatsächlich von dem jquery.validate.js an der Linie 357 kommen wird:

messages: { 
     // some other code 
     date: "Please enter a valid date.", 
     // some other code 
    }, 

eine Ahnung, wie/warum es diese Fehlermeldung werfen?

Ist meine jQuery-UI-Version nicht mit der jQuery-Validierungsversion kompatibel?

bitte beraten.

Antwort

1

es gefunden, es wurde von einem Datum Methodenvalidierung auslösen tatsächlich in jquery.validate.min.js, die in Linie ist 1356:

// http://jqueryvalidation.org/date-method/ 
     date: function(value, element) { 
      return this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString()); 
     }, 
+0

'/Invalid|NaN/.test(new Datum (Wert) .toString()) 'sollte wirklich' isNaN (new Date (value)) 'sein. – RobG

Verwandte Themen