Question

J'ai besoin de valider un champ date/heure sur une page Web, mais je souhaite qu'il le fasse sans recharger la page et j'aimerais un retour « instantané » pour les utilisateurs.

Quelle est la meilleure solution/la plus simple.D'AILLEURS:le plus facile obtient 65 % du total des points

Modifier:Et si le meilleur représentait 65 % du total des points ?

Était-ce utile?

La solution 10

On dirait qu'il existe une excellente vidéo sur la boîte à outils de contrôle ASP.NET AJAX qui fournit le contrôle MaskedEdit et le contrôle MaskedEditValidator qui fonctionnent très bien.Pas facile pour les débutants mais TRÈS bon feedback instantané.

Merci pour toutes les réponses!

asp.net

Malheureusement, je ne peux pas accepter cette réponse.

Autres conseils

Si vous souhaitez utiliser JavaScript, il intègre des fonctions de validation de date.Cependant, si vous ne souhaitez pas emprunter la voie JavaScript, vous pouvez modifier l'interface utilisateur en contrôles déroulants, ce qui limiterait la capacité des utilisateurs à saisir des données non valides.Vous devrez toujours vérifier côté serveur pour vous assurer que personne ne soumet le 30 février.

Regarde ça validation des dates javascript fonction.

Il utilise javascript, des expressions régulières et l'événement 'onblur' d'une saisie de texte.

@David H.Australie

Utiliser onblur pour la validation est problématique, car certaines personnes utilisent la touche Entrée, pas la souris, pour soumettre un formulaire.Utiliser onblur et l'événement onsubmit du formulaire conjointement pourrait être une meilleure solution.À l'époque où je faisais beaucoup plus de validation JS pour les formulaires, j'exécutais des événements keyup.Cela a permis à l'utilisateur de savoir instantanément si sa saisie était correcte ou non.Vous pouvez (et je l'ai fait) également mettre en place des contrôles pour que l'utilisateur ne reçoive pas de message "incorrect" jusqu'à ce qu'il ait quitté le terrain (puisque vous ne devriez pas lui dire qu'il est incorrect s'il ne l'a pas fait). encore).

Je recommanderais d'utiliser des listes déroulantes pour les dates, comme indiqué ci-dessus.Je ne vois pas vraiment de raison de ne pas le faire : vous voulez que l'utilisateur choisisse parmi des données prédéfinies, et non qu'il vous donne quelque chose d'unique que vous ne pouvez pas anticiper.

Vous pouvez éviter le 30 février avec un peu de Javascript (remplissez dynamiquement le champ des jours en fonction du mois).

@Brian Warshaw
C'est un très bon point que vous faites valoir pour ne pas oublier les utilisateurs qui naviguent via le clavier (euh, moi).

Merci d'avoir attiré notre attention sur ce point.

Une méthode javascript simple qui lit le contenu du champ de saisie lors de la soumission et le valide.S'il n'est pas valide, renvoyez false pour que le formulaire ne soit pas soumis au serveur.

... onSubmit="return validateForm();" ...

Assurez-vous également de valider côté serveur, il est facile de contourner la validation javascript.

Si vous utilisez ASP.NET, il dispose de contrôles de validation que vous pouvez pointer vers des zones de texte que vous pouvez ensuite utiliser pour valider les formats de date/heure appropriés.

Il existe quelques widgets de date disponibles dans l’éther.Ensuite, vous ne pouvez autoriser que les entrées valides.

J'ai utilisé ce petit morceau de code js dans quelques projets, il fera des dates rapidement et facilement avec quelques autres.

Lien

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top