Les pseudo-classes :valid et :invalid.
Résumé des caractéristiques du sélecteur :valid
Description des pseudo-classes :valid et :invalid.
Les pseudo-classes :valid et :invalid ciblent les éléments dont la valeur est respectivement valide et invalide.
On s'adresse donc ici à des éléments tels que les zones de saisie input.
Une valeur est considérée comme valide si elle répond aux conditions suivantes :
- Elle est conforme au type de donnée défini dans le code HTML (attribut
typede la balise input). - Elle correspond au format de saisie défini par l'attribut
pattern. - Elle se situe dans la fourchette des valeurs autorisées définie par les attributs
minetmax. - Elle est conforme à l'attribut
stepqui, avecminetmax, définit les valeurs autorisées.
Par exemplemin="1" max="5" step="2"autorise uniquement les valeurs1,3et5. - Le nombre de caractères saisis est dans la fourchette définie par les attributs
minlengthetmaxlength.
Ces deux pseudo-classes peuvent également être appliquées aux formulaires. Dans ce cas, le sélecteur :valid ne s'active que si TOUTTES
les zones de saisie du formulaire sont valides, et le sélecteur :invalid que si au moins une des zones de saisie est invalide.
D'autres pseudo-classes permettent de cibler des zones de saisie en fonction de critères plus précis :
:in-rangeet:out-of-rangeciblent les éléments dont la valeur si situe dans la fourchette des valeurs autorisées ou à l'extérieur de cette fourchette.:requiredet:optionalciblent respectivement les zones de saisie obligatoires et celles qui sont optionnelles.
Exemples d'utilisation de :valid et :invalid.
Exemple sur des zones de saisie.
Les sélecteurs :valid et :invalid sont appliqués aussi bien sur le formulaire lui-même que sur les différentes zones de saisie.
Lorsque tous les éléments du formulaire sont valides, celui-ci est également valide. Si une seule zone est invalide, le formulaire est invalide.
Les éléments dont la valeur est valide sont entourés d'un contour vert, ceux dont la valeur est invalide sont entourés d'un contour rouge.
- La zone "Code postal" est du type
textavec un pattern qui nécessite la saisie de 5 chiffres. - La zone "Référence" doit comporter entre 5 et 10 caractères : attributs
minlengthetmaxlength.
De plus cette zone dit obligatoirement être renseignée (attributrequired). - La zone "Nombre" attend la saisie d'une valeur numérique (
type="number"). La plupart des caractères non numériques sont bloqués, mais il est cependant possible de saisir des valeurs erronées telles que5-5,5+5,e3, etc.
Puisque les valeurs minimale et maximale ont été définies à10et20avec un pas de2, il est possible aussi d'activer la pseudo-classe:invaliden tapant une valeur en dehors de cette fourchette ou un nombre impair. - Les deux dernières zones vérifient que la forme de la saisie soit conforme à celle d'une adresse mail et d'une URL.
Exemple avec des groupes de zones de saisie fieldset.
La balise fieldset permet de grouper des zones de saisie. Visuellement cela se traduit par un rectangle qui entoure ces zones, éventuellement
accompagné d'un titre. Appliquées à un fieldset les pseudo-classes :valid et :invalid fonctionnent comme sur un formulaire :
le fieldset est valide si toutes les zones qu'il contient sont valides.
Dans l'exemple ci-dessous, le nom et le mot de passe sont tous les deux obligatoires, et parmi les bouton radio il faut en cocher un.
Compatibilité des navigateurs.
Les pseudo-classes :valid et :invalid ne posent aucun problème de compatibilité avec les navigateurs actuels.
:valid et :invalid qi cible les éléments de formulaire dont la valeur est valide ou invalide.:valid:invalidNavigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Samsung Internet

Safari

Opéra

Chrome

Edge

KaiOS Browser

Firefox

Safari sur IOS

Androïd Brower

Chrome pour Androïd

Firefox pour Androïd

Opéra mini
Historique des pseudo-classes :valid et :invalid.
-
Sélecteurs - Niveau 4
Ce module de spécification définit de nouveaux sélecteurs utilisables en CSS.
Concernant:valid, Introduction des pseudo-classes:validet:invalid.29 Septembre 2011Document de travail.
Voir aussi...
Les pseudo-classes relatives aux zones de saisie et à leur état à un moment donné (en lecture seule, valides, requises, etc.) sont listées ci-après. Reportez-vous à leur description pour en savoir plus.
select), et qui se trouve dans l'état fermé.disabled).select), et qui se trouvent dans l'état ouvert.


