Moin
Der folgende Code bringt beim Firefox "Ungültig" und beim Opera "Gültig"
var dt = new Date("2022-06-31");
Wenn ich das in der Browser-Konsole eintippe, sagt mir der Firefox bereits „Invalid Date“.
var day_no=dt.getDay(); if (isNaN(day_no)) { alert("ungültig!"); } else { alert("Gültig!"); }
das Problem hier ist, dass du die Zwischenschritte nicht überprüfst. Denn bereits die erste Zeile ist falsch. Wird dem Date-Konstruktor ein Datum in String-Format übergeben, muss es in einem bestimmten Format vorliegen. Das von dir verwendete ISO-8610-Format (das mir auch viel sympathischer ist), passt hier nicht.
In meinem Firefox passt ISO 8601:
let dt = new Date('2022-06-30');
dt.getDay(); // 4
Ich bin aber auch gerade etwas überrascht, dass das Date-Objekt anscheinend keine Methode anbietet, ein falsches Datum zu erkennen.
Doch.
Viele Grüße
Robert