Salut, j'ai une chaine de caracteres qui represente une date du format jj/mm/aa, je voudrais imposer un controle sur la saisie et empecher de saisir des dates comme 30/02/07?puisque elle n'existe jamais.
merci.
Salut, j'ai une chaine de caracteres qui represente une date du format jj/mm/aa, je voudrais imposer un controle sur la saisie et empecher de saisir des dates comme 30/02/07?puisque elle n'existe jamais.
merci.
Faire un controle dans quoi? Une appli? En web?
Quel est ton probleme?
Il te suffit de récupérer la date et de regarder si cette date est valide, nan?
Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....
Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.
-- Maxf1 --
Salut, je te propose une solution.
Faire 3 combobox, une pour le jour, une pour le mois et l'autre pour l'année. Suivant le mois et/ou l'année choisie, le nombre de jours dans la première combo est rechargé du coup si ce n'est pas une année bissectile, il ne pourra y avoir de 29 février par exemple. Ca peut paraître lourd car à chaque changement de mois et/ou d'année, il faut recharger les items de la première combo mais ça t'évite ainsi une vérification plus tard sur un bouton de validation. C'est à toi de voir
"Le calendrier, c'est la bureaucratie du temps." Quino
:
http://java.developpez.com/faq/java/...G_parse_string
et tu cathes l'exception que lance le parse quand le format n'est pas correct, puis agis en conséquence
Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.
Plus précisement :
Comment forcer le parsing d'une Date à échouer en cas de Date incorrecte ? .
Je ne répondrai à aucune question technique par MP.
Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
Enfin, quand une solution a été trouvée à votre problème pensez au tag
Cours Dvp : http://ydisanto.developpez.com
Blog : http://yann-disanto.blogspot.com/
Page perso : http://yann-disanto.fr
Et plutot que de retourner une grosse exception toute moche, tu peux même utiliser les expressions régulières, notemment celle fournie je ne sais plus où sur le site de sun.
code de la fonction :
retourne vrai si la string date passée en parametre (de type "JJ/MM/AAAA") est valide, false sinon. Elle gere même les années bissextiles .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public static boolean valideDate(String date_tmp) { String date_finale; String jour; String mois; String annee; jour = date_tmp.substring(0, 1) + date_tmp.substring(1, 2); mois = date_tmp.substring(3, 4) + date_tmp.substring(4, 5); annee = date_tmp.substring(6, 7) + date_tmp.substring(7, 8) + date_tmp.substring(8, 9) + date_tmp.substring(9, 10); date_finale = jour + "/" + mois + "/" + annee; String DatePattern = "^(?:(31)(\\D)(0?[13578]|1[02])\\2|(29|30)(\\D)(0?[13-9]|1[0-2])\\5|(0?[1-9]|1\\d|2[0-8])(\\D)(0?[1-9]|1[0-2])\\8)((?:1[6-9]|[2-9]\\d)?\\d{2})$|^(29)(\\D)(0?2)\\12((?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:16|[2468][048]|[3579][26])00)$"; if(date_finale.matches(DatePattern)) return true; else return false; }
Fred
Développeur Java / Flex à Shanghai, Chine
mes publications
Mon dernier tutoriel : Messages Quit IRC : explications
La rubrique IRC recrute des redacteurs : contactez moi
Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]
bonjour,
il existe deux type de solution possible :
- côté client : html ou javascript ( évite un aller retour vers le serveur avec des donnèes fausses)
- côté serveur : java (regex).
Cordialement
Java fun is back
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager