web-dev-qa-db-fra.com

Est-il possible de configurer un champ obligatoire pour ignorer les espaces blancs?

L'attribut obligatoire en HTML5 est très pratique:

<input type="text" required>

Mais il permet toujours aux utilisateurs de saisir des espaces blancs uniquement. Existe-t-il une solution uniquement HTML pour cela?

34
Benjamin

Utilisez l'attribut pattern combiné avec l'attribut required. Et assurez-vous d'inclure également un attribut title, car la plupart des navigateurs insèrent le texte du titre dans la bulle contextuelle de validation.

<input required pattern=".*\S+.*" title="This field is required">

Le .*\S+.* le modèle requiert au moins un caractère non blanc, mais autorise également les caractères blancs (espaces, tabulations, retours chariot, etc.) au début ou à la fin. Si vous ne voulez pas que l'utilisateur puisse mettre des espaces au début/à la fin, utilisez plutôt ceci:

<input required pattern="\S+" title="This field is required">
70
James Messinger
14
robertc

Vous voulez probablement ceci:

<input type="text" required pattern="\S(.*\S)?">

(Au moins un caractère non blanc et aucun blanc au début ou à la fin de l'entrée)


Ou si les espaces au début et à la fin sont corrects, alors ceci:

<input type="text" required pattern=".*\S.*">
0
Jeremy Moritz