2010-07-15 3 views
3

J'ai un champ de saisie qui est défini comme un sélecteur de date. Quand j'initialise l'option dateFormat, elle arrête de contraindre l'entrée et je peux saisir toutes sortes de dates de déchet dans la zone de texte. Pourquoi cela arrive-t-il? J'aimerais que l'entrée contrainte fonctionne toujours lorsque vous définissez un format de date personnalisé.Pourquoi le datapicker jQuery ne contraint-il pas l'entrée lors de la définition d'un format de date?

myTextInput.datepicker({ dateFormat: "dd-M-yy" }); 

Si je ne mets pas l'option dateFormat alors l'entrée est limitée comme prévu.

Répondre

3

Il ne semble pas que ce soit le format de date personnalisé qui le brise. Il semble que lorsque votre dateFormat inclut une représentation de chaîne qui n'est pas restrictive.

$('#mydate').datepicker({ dateFormat: "yy-mm-dd" }); 

Cela semble fonctionner correctement.

Donc, fondamentalement, les codes M, MM, D et DD le cassent.

+0

Ah ok, je comprends ce que vous voulez dire. Donc, parce que le format que j'utilise permet des dates comme le 12-JUL-2010, il va essentiellement désactiver les contraintes et autoriser n'importe quel texte. Je pensais que cela aurait été plus intelligent et n'a autorisé que les personnages de JAN, FEB, MAR, etc. Une idée de comment restreindre facilement le texte entré avec jQuery? – GiddyUpHorsey

+1

La documentation donne l'impression qu'elle devrait aussi être plus intelligente. Vous pouvez créer votre propre contrainte sur le champ pour autoriser uniquement les chiffres et les caractères alpha. Une solution pour cela est ici (juste ignorer les choses d'aperçu) http://stackoverflow.com/questions/1397535/block-characters-from-input-text-field-mirror-input-into-span-or-div – MacAnthony

+0

i avoir un format de jj/mm/aa et ça ne marche pas, pas de chaîne de caractères xD – max4ever

Questions connexes