Bonjour,
J'ai un formulaire sur lequel l'utilisateur rentre une date de naissance.
Je voudrai 2 choses :
Le forcer à écrire sour la forme jj/mm/aaaa
et ensuite tester que cette personne à 18 ans minimum.
Merci a vous.
Bonjour,
J'ai un formulaire sur lequel l'utilisateur rentre une date de naissance.
Je voudrai 2 choses :
Le forcer à écrire sour la forme jj/mm/aaaa
et ensuite tester que cette personne à 18 ans minimum.
Merci a vous.
Bonjour,
Pour le forcer à écrire sous une certaine forme, tu peux soit indiquer le format ( indication visuelle) et le vérifier avant l'envoi avec du javascript.
Tu peux également placer une liste déroulante pour chaque terme ( jour, mois et annee ). L'avantage est que la saisie est fermée. De toute façon, tu devras rajouter une vérification en javascript pour savoir si la date est valide
Pour le test de la majorité, cela se fait très simplement en utilisant les fonctions de dates via les timestamp si la date est supérieure à 1970, sinon la personne est majeure de toute façon.
Merci a toi !!
TU aurai par hasard un exemple concret ?
Cordialement,
Je vais finalement mettre 3 listes déroulantes.
Mais faut il rentrer toutes les valeurs dans le code?
De même pour le mois et le jour?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <select name="cmbJour" id="cmbJour" > <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> .................... ............. </select>
Ou je peux avoir une fonction qui dit : De 1 à 31 on charge, de 1920 à 2006 on charge?
Merci
Un indice :
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part for ($i=1; $i <=31; $i++)
Rakken
Merci RAKKEN !!!
Moi de mon côté j'ai fait ca dans un validatoret ca dans ma page
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
18
19
20
21
22
23
24
25
26
27 class ValidateDateNaissance extends Validator { /** Validation de la longueur du n° de série * Private */ var $DateNaissance; //! A constructor. /** */ function ValidateDateNaissance ($DateNaissance){ $this->DateNaissance=$DateNaissance; Validator::Validator(); } //! A manipulator /** * @return void */ function validate() { list($jour,$ mois, $annee) = explode('/', $this); if(checkdate($mois,$jour,$annee)) { } else { $this->setError('Date de naissance non valide'); } } }
Mais j'ai toujours une date fausse ?
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
18
19
20
21
22 if (isset($_POST['cmdEnvoyer'])) { require_once('TestFormulaire_fr.php'); // Register the subclasses to use $v['er'] = new ValidateRequired('Nom', $_POST['txtNom']); $v['s'] = new ValidateRequired('Prénom', $_POST['txtPrenom']); $v['e'] = new ValidateEmail($_POST['txtMail']); $v['t'] = new ValidateDateNaissance('Date de Naissance', $_POST['txtDateNaissance']); $v['u'] = new ValidateNumClient($_POST['txtNumCli']); $errorMsg = ''; // Perform each validation foreach($v as $validator) { if (!$validator->isValid()) { while ($error=$validator->getError()) { $errorMsg.="<li>".$error."</li>\n"; } } } if ($errorMsg != '') { print ("<div style='color:blue'>Les erreurs suivantes se sont produites:\n<ul>".$errorMsg."</ul></div>");
Merci
Pourquoi utiliser du temps CPU sur le serveur plutôt que sur le client. Javascript aussi sait faire une boucle forEnvoyé par Rakken
![]()
Une petite erreur s'est glissé dans le code de ta méthode validate
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function validate() { list($jour,$ mois, $annee) = explode('/', $this); if(checkdate($mois,$jour,$annee)) { } else $this->setError('Date de naissance non valide'); { } }
Bon je comprend pas !!!
Ca marche toujours pas !!
Un problème avec les ; ou {} je pense
Voilà en j'en suis
Et là, sur ma page qui s'ouvre j'ai uniquement mon fond d'écran.
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
18
19
20
21
22
23
24
25
26
27
28
29
30 ValidateDateNaissance extends Validator { /** Validation de la longueur du n° de série * Private */ var $DateNaissance; //! A constructor. /** */ function ValidateDateNaissance ($DateNaissance) { $this->DateNaissance=$DateNaissance; Validator::Validator(); } //! A manipulator /** * @return void */ function validate() { list($jour,$mois, $annee) = explode('/', $this); if(checkdate($mois,$jour,$annee)) { } else { $this->setError('Date de naissance non valide'); } } }
Je rappel que j'appel la page validator comme ca
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part $v['t'] = new ValidateDateNaissance('Date de Naissance', $_POST['txtDateNaissance']);
Parce que js c'est chiant à utiliser, et que tlm ne l'autorise pas...Envoyé par FCYPBA
Ce genre de choses, ce n'est pas au javascript de le faire, c'est au php. :-/
Il y a un an j'aurais eu tendance à penser comme toi. Mais maintenant n'importe quel site, un peu Web 2.0, demande un petit peu de JS. Après tout dépends à quel public est destiné le site.Envoyé par Sékiltoyai
Oui mais cela n'oblige pas à utiliser js à toutes les sauces, les pages sont déjà assez surchargées de scripts comme cela.
Et pour l'accessibilité c'est la mort. Il faut pensez à des solutions alternatives pour ceux qui désactivent le javascript...
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