Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

    Bonjour,

    J'essaie de trouver comment avoir une règle de validation regardant si au moins une case à cochée à été sélectionner sur un ensemble de 2 groupes de checkbox. Ou alors comment faire pour afficher un groupe de case à cocher avec des sous-ensembles. (pas très clair, donc j'illustre)

    Nom du checkbox group
    label présentant le sous-ensemble suivant
    case à cocher 1
    case à cocher 2
    case à cocher 3
    case à cocher 4
    label présentant le sous-ensemble suivant
    case à cocher 5
    case à cocher 6
    case à cocher 7

    En gros, soit il y a un moyen de faire des sous-groupes de cases à cocher (mais je ne pense pas)
    Soit il faut faire en sorte que 2 groupes de cases à cocher soient dépendants l'un de l'autre pour la règle de validation car je veux qu'au moins une des 7 cases soit cochée pour valider le formulaire.

    Y-a-t'il un moyen de faire ça et comment svp ?

    Merci d'avance

  • #2
    Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

    Bonjour,

    Il suffit de faire une clause de validation personnalisée. Supposons que les 2 checkbox groups soient appelés cbg1 et cbg2. Pour chacun une clause de validation du genre:
    Code:
    function ff_cbg1_validation(element, message)
    {
        val1 = ff_getElementByName( 'cbg1' ).value ;
        val2 = ff_getElementByName( 'cbg2' ).value ;
        if ( val1 < ' ' && val2 < ' ' ) {
            if (message=='') message = "Veuillez choisir un élémentn"
            ff_validationFocus(element.name);
            return message;
        } // if
        return '';
    } // ff_cbg1_validation
    par exemple, devrait faire l'affaire.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

      Bonjour et merci pour la réponse.

      Je viens de tester mais ça ne fonctionne pas.
      Je peux valider le formulaire sans cocher de case.

      J'ai mis pour chaque groupes que le champ était requis
      et le script "custom" dans lequel j'ai inséré le code proposé en remplaçant les noms de chaque groupe.

      Je n'ai peut-être pas mis le code au bon endroit ?

      Commentaire


      • #4
        Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

        J'ai testé ce genre de possibilité et ça fonctionne. C'est dans la clause de validation du champ, que tu choisis personnalisé, tu demandes la création du framework de code, et tu modifies pour le champ (attention au nom des champs)...
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

          Oui je l'ai bien mis dans la partie "validation" de chaque champ.
          Il faut bien mettre le même code dans les 2 champs en intervertissant les noms de champs ?

          donc pour mon champ cbg1, dans la validation du champ j'ai coché "requis" pour le rendre obligatoire puis j'ai mis "validation custom" et dans la création du framework de code j'ai mis :
          Code:
          function ff_cbg1_validation(element, message)
          {
              val1 = ff_getElementByName( 'cbg1' ).value ;
              val2 = ff_getElementByName( 'cbg2' ).value ;
              if ( val1 < ' ' && val2 < ' ' ) {
                  if (message=='') message = "Veuillez choisir un élément"
                  ff_validationFocus(element.name);
                  return message;
              } // if
              return '';
          } // ff_cbg1_validation
          et dans le champ cbg2 j'ai fait la même chose mais avec le code :

          Code:
          function ff_cbg2_validation(element, message)
          {
              val1 = ff_getElementByName( 'cbg2' ).value ;
              val2 = ff_getElementByName( 'cbg1' ).value ;
              if ( val1 < ' ' && val2 < ' ' ) {
                  if (message=='') message = "Veuillez choisir un élément"
                  ff_validationFocus(element.name);
                  return message;
              } // if
              return '';
          } // ff_cbg2_validation
          Je ne comprends pas trop la signification du dernier if précédé de // c'est équivalent à un endif ?

          Commentaire


          • #6
            Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

            les // désignent des commentaires, c'est inséré par le framework pour rendre le code lisible.

            Tu peux également vérifier en modifiant la ligne

            Code:
            if ( val1 < ' ' && val2 < ' ' ) {
            par
            Code:
            if ( val1 == "" && val2 == "" ) {
            Dans certains cas, ça fonctionne mieux.
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

              Je viens de te tester, ça ne fonctionne toujours pas. J'envoie mon formulaire sans avoir coché de case du tout.
              J'ai vérifié toutes les valeurs du groupe sont bien mises à 0 dans la définition du champ.
              0;valeur1;val1
              0;valeur2;val2
              ...

              Peut-être que c'est la construction de mon formulaire qui provoque ça je ne sais pas.

              Commentaire


              • #8
                Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                La règle de validation étant correcte, c'est donc autre chose qui cloche. Exportes ton formulaire en XML (Configuration de BF, créer un package), puis zippes le et mets le ici, ça permettra de tester.
                Pas de demande de support par MP.
                S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                Commentaire


                • #9
                  Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                  je viens de regarder le script intégré à breezingform ff_valuenotempty
                  il y a quelques différences d'écriture, j'ai voulu reproduire avec le code que tu m'as proposé mais du coup ça beug car aucun message d'erreur n'est affiché mais le bouton envoyer reste grisé comme si l'action tournait en boucle et il faut recharger la page pour pouvoir à nouveau avoir la main dessus.
                  Maintenant je n'ai peut-être pas bien adapté le code. Ci-dessous le code par défaut si ça peut aider : (je vais exporter le formulaire mais est-ce que je peux l'envoyer de façon "privée" ?)

                  Code:
                  function ff_valuenotempty(element, message)
                  {
                      if (element.value!='') return ''; 
                      if (message=='') message = "Please enter "+element.name+".\n";
                      ff_validationFocus(element.name);
                      return message;
                  } // ff_valuenotempty

                  Commentaire


                  • #10
                    Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                    Je connais ces scripts, c'est moi qui en ai fait la version française http://support.lab-project.net/t%C3%...breezing-forms

                    Cette fonction (comme toutes les fonctions intégrées) reçoit element (le champ sur lequel elle s'applique) et réalise le test voulu. Dans ce cas, le test est fait directement sur la valeur de l'élément. Mais techniquement, ff_valuenotempty se contente de tester le non vide, d'où retour immédiat.
                    Dans le cas qui nous occupe, il y a 2 valeurs (de 2 champs) à tester.
                    Et s'agissant d'une case à cocher, le notempty est insuffisant.

                    Si tu y tiens absolument, envoies le package par message privé.
                    Pas de demande de support par MP.
                    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                    Commentaire


                    • #11
                      Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                      Effectivement, inutile de t'envoyer le code dsl

                      Je n'arrive pas à trouver comment envoyer un fichier par message privé... voilà le package
                      merci pour ton aide
                      Fichiers joints

                      Commentaire


                      • #12
                        Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                        Je regarde ça dès que j'ai un moment.
                        Pas de demande de support par MP.
                        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                        Commentaire


                        • #13
                          Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                          ok merci

                          Commentaire


                          • #14
                            Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                            Je viens de tester, et j'en suis au même point que les réponses du forum crosstec
                            Pas de demande de support par MP.
                            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                            Commentaire


                            • #15
                              Re : Une règle de validation englobant 2 groupes de cases à cocher dans Breezingforms

                              ok, je vois que mon formulaire pose problème lol
                              j'ai peut être intégré trop de conditions...
                              j'avais effectivement commencé sur crosstec étant donné que j'y ai un accès membre mais je continuais aussi de chercher d'éventuelles solutions et ai vu qu'il y avait aussi des experts ici, d'où ma demander ici aussi. On va attendre de voir ce que trouve crosstec dans ce cas. Je viendrai poster la solution ici si on finit par trouver pour aider d'autres personnes éventuellement qui aurait le même soucis.

                              merci pour ton aide en tout cas

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X