Donnez vie à vos documents numériques !
 

Script pour valider la saisie des champs obligatoires

abracadabraPDF Forums PDF – Général Script pour valider la saisie des champs obligatoires

  • Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par falafhell, le il y a 12 mois.
  • Créateur
    Sujet
  • #71120
    falafhell
    Participant

    Bonjour,

    C’est la première fois que je dépose une requête sur ce forum et j’avoue ne pas bien savoir où trouver une réponse à mon problème. Si je suis relativement à l’aise avec la création de formulaires basiques, je suis parfaitement novice en fonctionnalités plus avancées, impliquant notamment l’intégration de scripts.

    Ma demande est la suivante : existe-t-il un script simple (c’est-à-dire qui ne demande pas de manipulations particulières de ma part…, si ce n’est un copier-coller) pour créer un bouton de validation de saisie des champs ?

    Je dois en effet réaliser un formulaire avec validation de saisie des champs obligatoires (ceux-ci pouvant être du texte, des suites de chiffres ou des boutons radio). Dans ce cas, je suppose que le mieux est de créer un bouton d’enregistrement « valider le formulaire » qui, au cas où tous les champs obligatoires n’auraient pas été saisis, fait apparaître un message et bloque l’enregistrement tant que le formulaire n’est pas totalement complété.

    Si l’un de vous a une solution simple ou une piste qui me permettrait d’avancer, je lui en serais infiniment reconnaissant !

    Au passage, je salue la grande qualité de ce forum et de ses contributions expertes.

    Toute proposition me serait d’une grande aide, d’autant que le temps m’est compté…

    Merci d’avance !

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

    bonjour,
    Le sujet a déjà été traité plusieurs fois, dont une des dernières :

    Case à cocher obligatoire

    On ne peut pas empêcher l’utilisateur d’enregistrer un document. Ce qu’on peut faire, c’est de lancer un script d’« Action du document » lorsque « Le document sera enregistré » qui vérifiera et affichera éventuellement un message d’alerte.
    Le post indiqué ci-dessus devrait pouvoir résoudre ton problème.
    N’hésite pas à partager un fichier si cela t’est possible pour une aide plus spécifique.

    @+
    😎

    #71122
    falafhell
    Participant

    Merci beaucoup pour votre retour rapide. J’ai fait le test sur un bout de formulaire (en PJ) en insérant le script évoqué en actions de document « quand le document sera enregistré » :

    var nCompt = 0;
    for (var i=0; i<this.numFields; i++) { var oChamp = this.getField(this.getNthFieldName(i)); if (oChamp != null && oChamp.required == true && oChamp.value == oChamp.defaultValue) {nCompt++;} } if (nCompt > 0) {
    app.alert(« Merci de renseigner tous les champs obligatoires. »);
    }

    mais la console Javascript m’indique une erreur : InvalidGetError: Propriété Get impossible, incorrecte ou inconnue. Field.required:2:Doc undefined:Will Save InvalidGetError: Propriété Get impossible, incorrecte ou inconnue. Field.required:2:Document-Actions:Le document sera enregistré.

    Hélas, il m’est impossible d’identifier l’erreur…

     

    Attachments:
    You must be logged in to view attached files.
    #71124
    bebarth
    Maître des clés

    La propriété « required » ne s’applique pas aux boutons, il faut donc les retirer de la condition.

    Voici le script a appliquer :
    var nCompt=0;
    for (var i=0; i<this.numFields; i++) {
    var oChamp=this.getField(this.getNthFieldName(i));
    if (oChamp.type!="button" && oChamp!=null && oChamp.required==true && oChamp.value==oChamp.defaultValue) nCompt++;
    }
    if (nCompt>0) app.alert("Merci de cocher tous les champs obligatoires.");

    Attachments:
    You must be logged in to view attached files.
    #71126
    falafhell
    Participant

    Merci beaucoup, ça fonctionne parfaitement !

    Votre réponse m’a été d’une aide précieuse.

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