vérifier et comparer une date
Bonjour,
Dans une page aspx, j'ai eu besoin de vérifier une date de naissance et de comparer sa valeur de façon à ce que l'âge de la personne doit être entre 20 et 80 ans.
Voilà mon code javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <script type="text/jscript" language="Jscript">
function DateValidate(source, arguments)
{
var DateNaiss = arguments.Value ;
var1 = new Date();
String DateNow = "" + var1.getDate() + "/" + var1.getMonth() + "/" + var1.getFullYear() + "";
if (((Date.parse(DateNaiss)) - ((Date.parse(DateNow))) > 20 ) && ((Date.parse(DateNaiss)) - ((Date.parse(DateNow))) < 80 )
{
arguments.IsValid = true ;
}
else
{
arguments.IsValid = false ;
}
}
</script> |
Le problème c'est que ça ne marche pas et je ne sais pas d'où vient l'erreur.
Peux-tu nous donner plus d'informations
Quelques questions :
1 - A quoi sert l' arguments source de ta fonction
2 - Les personnes qui ont 20 ans et les personnes qui ont 80 ans sont elles autorisées (car là apparemment non)
3 - Arguments est bien un input type=text
4 - Quel est le format de la date de naissance JJ/MM/AAAA ou à l'anglaise AAAA/MM/JJ
sans faire de copier-coller
Voilà une petite base de réflexion.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| function validerDate(inputText) {
var dateNaissance = new String(inputText.value)
dateNaissance = dateNaissance.split('/', 3)
var anneeNaissance = new Number(dateNaissance[2]) // pour une date à la french (normale JJ/MM/AAAA)
// var anneeNaissance = new Number(dateNaissance[0]) // Pour une date à l'anglaise (YYYY/MM/DD)
var aujourdhui = new Date()
var cetteAnnee = aujourdhui.getFullYear()
if (cetteAnnee-anneeNaissance>19 && cetteAnnee-anneeNaissance<81) {
inputText.isValid = true
} else {
inputText.isValid = false
}
} |
Parfois on passe moins de temps à créer sa propre méthode qu'à chercher comme un fou sur la toile une méthode ressemblant à ce que l'on veut faire.