Partage

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 Pakito 2.0 20 juin 2018 à 23:30:40

Vous êtes demandeur·se d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur·se web junior

Je postule
Formation
courte
Financée
à 100%
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

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
on se retrouve tous sur : https://crownbackend.com/
Staff 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é)

Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça :) Postez votre code html et css (bouton '</>') !!
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 Pakito 2.0 21 juin 2018 à 10:32:35

Staff 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.

Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça :) Postez votre code html et css (bouton '</>') !!
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..

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/
on se retrouve tous sur : https://crownbackend.com/
22 juin 2018 à 11:45:19

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

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

Formulaire PHP (required pattern= ???)

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown