Bonjour j'aimerai savoir comment retirer les espaces d'un formulaire. C'est a dire que si quelqu'un met uniquement des espaces dans la case du formulaire j'aimerai qu'il y ai un message d'erreur . Merci

8 réponses


tu as la méthode trim() qui sert a nétoyer des espaces par défault (mais pas que). et tu as ses copines aussi ltrim() et rtrim()

Ca ne marche pas ...
Je voulais le poster ici parce que je ne savais pas quel langage utiliser .. php ou javascript ..

Salut,

if (empty(trim($_POST['posted_field'], ' '))) {
    // TODO: Gestion du message d'erreur
}

Si tu le fais en JS, faut aussi le faire en PHP. Le JS ça se désactive.

Salut,

L'exemple de @nicop ne marchera pas, il manque les parenthèses de la condition. De plus il ne vérifie que les lettres de l'alphabet. Pas pratique du tout.

Pareil pour l'exemple de @Blackomodo, beaucoup trop restrictive.

Si tu veux faire une vérification coté Js c'est simplement pour éviter une requette au serveur, c'est donc toujours bien. Mais comme le précise @Balsakup, il te faudra dans tout les cas faire un check coté back.

Ensuite il faut que tu sois plus précis dans ta demande.
Est-ce que c'est pour envoyer la data sur ta base de données ou pour affiché à l'utilisateur.

En tout cas la réponse de @keulu - utiliser trim() - est la bonne solution.

<?php
$firstname = '';

if (isset($_POST['firstname'])) {
  $firstname = trim($_POST['firstname']);
}

require_once('form.html');
<!-- form.html -->
<input type="text" name="firstname" id="firstname" value="<?= $firstname ?>">

soit la methode trim qui enleve les espece de coté soit les expressions régulières

du coup si c'est pour les espaces a l'interieur de ton string il faut effectivement un replace grace a une regex.

PHP: $str = preg_replace('/\s+/gi', '_', $value_of_input);
JS : var str = value_of_input.replace(/\s+/gi, '_');

Pour ceux qui ont des espèces dans leur string, je leur conseille de consulter :-)