[Résolu] longueur champ pseudo

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'ai parcouru tout le forum est bizarrement je n'ai rien trouvé concernant ma question.

Mes utilisateurs créent des pseudos interminables.. comment limiter ceux-ci à par exemple 10-12 caractères ?

MERCI

Le module http://drupal.org/project/maxlength permet de limiter la longueur de plusieurs champs texte dans les formulaires de Drupal, mais je ne sais pas si le champ "pseudo" en fait partie (à tester).

Le module http://drupal.org/project/custom_username_validation te permet de définir tes propres règles de validation pour le champ "pseudo". Tu pourrais créer une règle qui ne valide le champ que s'il fait moins d'une certaine longueur.

Merci, J'ai opté pour le module custom_username_validation.

Pour ceux que cela intéressent, il faut rentrer une 'combinaison' dans le Pattern to match : preg_match()

Voici ma combinaison (longuer pseudo de 3 à 13 et dois commencer par une lettre), vous pouvez la recopier et l'adapter (la formule est expliquer morceaux par morceaux) :

/^(?=.{3})(?!.{14})[A-Za-z][A-Za-z0-9](?:.[A-Za-z0-9]+)$/

(?=.{3})        # minimum 3 caractères
(?!.{14})       # maximum 13 caractères
[A-Za-z]        # doit commencer par une lettre
[A-Za-z0-9]*    # numérique
(?:             # pas de caractères spéciaux en suite
  \.            # permets les points et autres
  [A-Za-z0-9]+  # mais seuleument si suivi d'une lettre ou chiffres