Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire PHP (required pattern= ???)

Sujet résolu
    19 juin 2018 à 18:04:39

    Bonsoir à tous et à toutes, 

    Pour résumer, je souhaite, grâce à un formulaire, qu'on sélectionne une activité (ça, ça marche), et qu'on insère un lien (URL) dans un input.

    Ce lien peut être au format"https://lesite.fr", "https://www.lesite.fr", "www.lesite.fr" ou "lesite.fr".

    Y a t-il un moyen, via le required pattern probablement, de faire en sorte que l'utilisateur soit restreint à ces 4 possibilités svp ?

    Voici la partie URL du formulaire :

    <div class="input-group mb-3">
       <label for="basic-url">Entrez un nom de domaine valide (et sécurisé : https://...) :</label>
          <input class="form-control" name="siteweb" 
                 placeholder="https://www.monsite.fr, www.monsite.fr, monsite.fr..." value="" 
                 required pattern=""
                 title="L'URL doit être valide et sécurisé (https://...)">
          <span class="validity"></span>
    </div>

    Et voici en photo pour voir à quoi cela ressemble :

    Si jamais vous avez besoin de plus de détails, n'hésitez pas à me demander !

    Merci d'avance pour votre aide :) !

    Bonne soirée.

    -
    Edité par PetiteFlamme31 20 juin 2018 à 23:30:40

    • Partager sur Facebook
    • Partager sur Twitter
      20 juin 2018 à 23:41:03

      Ce n'est pas du PHP ni même côté serveur ...

      ^(https://)?(www\.)?lesite\.fr ?

      Pour la fiabilité, il faudrait au moins le faire côté serveur.

      Pour l'UX, du JS et/ou côté serveur.

      -
      Edité par julp 20 juin 2018 à 23:41:55

      • Partager sur Facebook
      • Partager sur Twitter
        21 juin 2018 à 8:30:57

        un preg_match(permet d’insert un pattern) fera l'affaire coté PHP après coté client du JS
        • Partager sur Facebook
        • Partager sur Twitter
          21 juin 2018 à 9:01:58

          Bonjour,

          déjà, "required" et "pattern" sont deux attributs différents ;)

          Ce dont tu parles c'est en HTML, ça fait partie d'HTML5 et les API qui gravitent autour. Ensuite, un input de type "url" n'est-il pas déjà censé faire ce que tu cherches ? (et bien entendu il faut doubler cette vérification côté serveur, puisque tout ce qui est côté client peut être contourné)

          • Partager sur Facebook
          • Partager sur Twitter

          Pas d'aide concernant le code par MP, le forum est là pour ça :)

            21 juin 2018 à 10:30:27

            Merci beaucoup pour vos réponses !

            En effet vous avez raison je me suis peut être trompé de catégorie car cela concerne plus le HTML... 

            Excusez-moi.

            En ce qui concerne l'expression régulière, j'en ai testé une qui fonctionne plutôt bien :

            required pattern="/^(?:https:\/\/)?(?:(?!-))(?:xn--)?[a-z0-9][a-z0-9-_]{0,255}[a-z0-9]{0,1}\.?[a-z0-9][a-z0-9-_]{0,61}[a-z0-9]{0,1}\.(?:xn--)?(?:[a-z0-9\-]{1,61}|[a-z0-9-]{1,30}\.[a-z]{2,})$/"
            Mis dans un required patern, comme l'a dit @Lamecarlate, ceci fait partit des API gravitant autour du HTML5.

            -
            Edité par PetiteFlamme31 21 juin 2018 à 10:32:35

            • Partager sur Facebook
            • Partager sur Twitter
              21 juin 2018 à 10:43:11

              C'est "pattern" tout court, disais-je. "required" est un autre attribut, qui indique que le champ doit être rempli.

              Et as-tu testé un input de type "url", sans pattern ? Normalement ça fait ce que tu veux tout seul.

              • Partager sur Facebook
              • Partager sur Twitter

              Pas d'aide concernant le code par MP, le forum est là pour ça :)

                21 juin 2018 à 20:16:34

                A oui vous avez raison :D.

                Oui le champ url ne me convient pas car si je tape https://lesite.fr ça ne fonctionne pas, et pour d'autre format aussi ce n'est pas pris en compte..

                • Partager sur Facebook
                • Partager sur Twitter
                  22 juin 2018 à 8:21:50

                  si tu veux essayer des regex il y a regex101 qui te permet de tester t regex en ligne directement https://regex101.com/
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 juin 2018 à 11:45:19

                    Merci beaucoup pour ce lien je ne connaissais pas, super !

                    Merci pour vos aides, bonne continuation à tous ;).

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Formulaire PHP (required pattern= ???)

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown