moment.js la validation de date invalide “2013-10-311”
De course moment.js, 2.2.1
moment("2010-10-319", ["YYYY-MM-DD"]).isValid()
... retourne true
, et le moment où l'objet serait fixé au 31 octobre 2010. L'analyseur semble bande étrangères des personnages de toute sorte:
moment("2010-10-31a", ["YYYY-MM-DD"]).isValid(); //true
Curiouser, si vous ajoutez des choix de format, puis le "stripping" est limitée à un seul personnage! (Ne pas les chaînes de format de tests par un ou binaire?)
moment("2010-10-319", ["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD"]).isValid(); //true
moment("2010-10-3199", ["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD"]).isValid(); //false (!!!)
Ce comportement est-il pas? Je ne reçois pas pourquoi.
EDIT: UN auteur a trouvé un autre cas où des caractères supplémentaires au-delà de l'un sont, en effet, dépouillé:
moment("2010-10-319qr", ["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD"]).isValid(); //true (!)
Voici en action: http://jsfiddle.net/grahampcharles/r42jg/6/ (mis à jour avec de nouveaux cas)
Je suis l'aide de rapport ( "2010-10-319qr" , ["MM/DD/YYYY", "MM-JJ-AAAA", "AAAA-MM-JJ"] ); et il donne // vrai.
Tournure intéressante, à savoir le décapage n'est pas cohérente. J'ai mis à jour le violon.
Tournure intéressante, à savoir le décapage n'est pas cohérente. J'ai mis à jour le violon.
OriginalL'auteur Graham Charles | 2013-09-25
Vous devez vous connecter pour publier un commentaire.
créer un Problème sur le Dépôt Git de momentjs https://github.com/moment/moment/ la meilleure façon de gérer cette erreur.
Il semble moment.js ne pas valider les dates. Donc, j'ai du var d1= moment('2/1/2013', 'DD/MM/YYYY'); var d2 = moment('2/938/2013', 'DD/MM/YYYY"); var jours = d2.diff(d1, 'jours'); jours a valeur de 93. Il est par la conception à la validation d'une chaîne de date avec un format donné?
OriginalL'auteur squadwuschel
Moment.js version
2.3.0
ajouté strict de l'analyse.OriginalL'auteur timrwood
Si l'utilisateur n'est pas sélectionner une date, puis il montre que date non valide.
C'est faux, il doit indiquer la date ou la date n'est pas sélectionnée.
Des changements à moment.js vous pouvez changer l'état de nodate au lieu de date invalide.
OriginalL'auteur user3856049