Validation de formulaire HTML5 plus heureuse dans Vue
input:invalid {}
de CSS est utile lorsque l'élément de formulaire n'est pas valide, mais l'expérience utilisateur est médiocre lors de l'utilisation directement. Par exemple, un style non valide s'affiche immédiatement lorsqu'un formulaire se charge, ce qui confond l'utilisateur. Par conséquent, cette utilisation est rare dans les applications pratiques. Cependant, si ce problème est évité, :invalid
peut jouer un rôle énorme dans la validation de la forme sans s'appuyer sur de grandes bibliothèques.
Dave a proposé une amélioration basée sur l'idée originale de 2017:
<code>form.errors :invalid { outline: 2px solid red; }</code>
Le style d'erreur natif n'est appliqué qu'après avoir confirmé que le formulaire est dans un état d'erreur et errors
est ajoutée. Les tests sont également faciles. Par exemple, vous pouvez appliquer ce cours lorsque le bouton Soumettre est cliqué:
<code>submitButton.addEventListener("click", (e) => { form.classList.toggle("errors", !form.checkValidity()) });</code>
Il peut également être appliqué lorsque la boîte d'entrée perd le focus ou à d'autres moments. Vous pouvez même envelopper chaque case d'entrée dans un emballage et changer la classe Wrapper, le cas échéant.
Dave applique cette idée à Vue:
Nous définissons
errors
surfalse
lors de l'initialisation du composant de formulaire car nous ne voulons pas que le mauvais style soit affiché avant que l'utilisateur ne soumette le formulaire. La fonctioninvalidateForm
définit simplementthis.error
surtrue
. C'est l'un des inconvénientsCSS :invalid
, il est trop urgent. En écoutant l'événementinvalid
, l'application des styles peut être retardée avant la première tentative de soumission de formulaire, nous savons qu'il y a une erreur dans le formulaire.
Cette approche ne nécessite pas de bibliothèques supplémentaires, faisant pleinement usage des fonctionnalités natives de la validation du formulaire HTML. Le lien suivant est une version améliorée qui affiche également un message d'erreur:
Lien direct →
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence

Avez-vous déjà eu besoin d'un compte à rebours sur un projet? Pour quelque chose comme ça, il pourrait être naturel d'atteindre un plugin, mais c'est en fait beaucoup plus

Questions sur les zones de slash violet dans les dispositions flexibles Lorsque vous utilisez des dispositions flexibles, vous pouvez rencontrer des phénomènes déroutants, comme dans les outils du développeur (D ...

Tout ce que vous avez toujours voulu savoir sur les attributs de données dans HTML, CSS et JavaScript.

Lorsque le nombre d'éléments n'est pas fixé, comment sélectionner le premier élément enfant du nom de classe spécifié via CSS. Lors du traitement de la structure HTML, vous rencontrez souvent différents éléments ...

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

Comment implémenter des fenêtres dans le développement frontal ...
