Donnez vie à vos documents numériques !
 

Formulaire – Date de naissance – Message alerte JavaScript

abracadabraPDF Forums PDF – Général Formulaire – Date de naissance – Message alerte JavaScript

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46105
    Jessy
    Membre

    Bonjour,

    Je souhaite avoir un message alerte lorsque la personne n’a pas mis sa date de naissance au complet ou au format désiré tel que 1983-03-09. Je n’ai rien trouvé sur le forum à ce sujet…
    Pouvez-vous m’aider?

    J’ai trouvé un JS pour le message d’alerte pour un courriel non complété dans votre forum et qui fonctionne très bien. Je veux exactement la même chose mais le message doit indiquer que la date de naissance doit être saisie au format 1986-01-23
    Voici le script utilisé pour le courriel :
    (if(event.value == null || event.value == “”)
    {
      event.rc = true;
    }

    else
    {
      if(event.value.match(/^(w+([-+’.]w+)*@w+([-.]w+)*.w+([-.]w+)*)$/) == null)
        {
        app.alert({cMsg:”Veuillez entrer une adresse courriel valide.rnnExemple :rtennisquebec@gmail.com”, nIcon:1, cTitle:”TennisQuebec”});
        event.rc = false;
        event.target.focus = true;
        }
      else
        event.rc = true;
    }

    Merci beaucoup pour votre aide.

Affichage de 11 réponses de 1 à 11 (sur un total de 11)
  • Auteur
    Réponses
  • #65984
    bebarth
    Maître des clés

    bonjour,
    Si tu indiques un format de date yyyy-mm-dd, tu devrais avoir systématiquement un message d’erreur si le format n’est pas complet ou incorrect !
    @+
    :bonjour:

    #65985
    Jessy
    Membre

    Oui, sauf que le message indique la date en anglais yyyy-mm-dd au lieu de AAAA-MM-JJ.. d’où la nécessité d’avoir un message d’alerte. Peux-tu m’aider?

    #65986
    bebarth
    Maître des clés

    bonjour,
    Voici déjà une première réponse.
    C’est un script de touche personnalisé que j’ai adapté, qui insert directement les tirets pour avoir un format AAAA-MM-JJ :

    Code:
    // Date au format AAA-MM-JJ avec tirets automatiques
    if(!event.willCommit) {
      if(/^d{4}$/.test(event.value) && event.selStart == 4) event.change = “-” + event.change;
      else if(/^d{4}-d{2}$/.test(event.value) && event.selStart == 7) event.change = “-” + event.change;
      var aRslt = event.value.split(“”);
      aRslt.splice(event.selStart, event.selEnd – event.selStart, event.change);
      var strTest = aRslt.join(“”);
      var rpat = /^[12](d{0,3}(-d{0,2}(-d{0,2})?)?)?$/;
      event.rc = rpat.test(strTest);
    } else {
      var rpat = /^(d{4}-d{2}-d{2})?$/;
      event.rc = (event.value == “”) || rpat.test(event.value);
    }

    Ce script devra être amélioré pour vérifier les mois, jours, et années bissextiles…
    Mais à part être docteur es expressions régulières, c’est toujours un peu plus compliqué qu’on ne pense et je n’aurai pas le temps de regarder avant le début de semaine prochaine.
    A moins que j’ai un éclair…
    @+
    :bonjour:

    #65987
    Merlin
    Maître des clés

    Oui, sauf que le message indique la date en anglais yyyy-mm-dd au lieu de AAAA-MM-JJ.. d’où la nécessité d’avoir un message d’alerte. Peux-tu m’aider?

    La première fois que j’ai signalé ce bug (humain) absurde et demandé sa correction c’était il y a plus de onze ans, quand Adobe préparait Acrobat 8.
    :mur:

    #65988
    bebarth
    Maître des clés

    bonjour,

    A moins que j’ai un éclair…

    J’ai cru voir l’éclair, mais je me suis vite aperçu que ce n’était qu’une lueur…
    Je pensais avoir trouvé rapidement, mais après quelques testes je me suis aperçu que si je revenais sur ce que j’avais tapé, ça ne fonctionnait plus correctement.
    J’ai dû tout reprendre depuis le début. Si je peux donner un conseil, n’hésitez pas à utiliser la console et à afficher les différentes variables (au bon endroit)… Des fois on a des surprises, notamment avec “event”.
    Ci-joint le fichier auquel j’ai abouti. Après pas mal d’essais je n’ai pas trouvé d’erreur !!!
    Les tirets sont insérés automatiquement et le dernier jour du mois est vérifié lors de la saisie : Impossible d’indiquer un “31 avril” ou un “29 février” d’une année qui n’est pas bissextile…
    @+
    :bonjour:

    #65989
    Merlin
    Maître des clés

    :bravo:

    #65990
    Jessy
    Membre

    C’est exactement ça!!!

    Merci beaucoup Bebarth!!! Tu es un génie!! :soleil: :soleil: :soleil: :soleil:

    #65991
    bebarth
    Maître des clés

    bonjour,
    Ce script n’aurait pas pu être écrit pour un format de date à la française…
    J’ai toujours considéré le format de date anglais plus pratique pour le classement, le calcul, …
    A mon avis, avec le rock, le format de date est l’une des très bonnes inventions anglaises !  :geek:
    @+
    :bonjour:

    #65992
    Merlin
    Maître des clés

    yyyy-mm-dd n’est pas le format anglais, c’est le format ISO international.
    Le format anglais c’est mm-dd-yyyy.
    :Smiley15:

    #65993
    bebarth
    Maître des clés

    Il ne leur reste plus que le rock alors !
    @+
    :bonjour:

    #65994
    Merlin
    Maître des clés

    Et le whisky !
    :Smiley03:

Affichage de 11 réponses de 1 à 11 (sur un total de 11)
  • Vous devez être connecté pour répondre à ce sujet.