Maison >interface Web >js tutoriel >Utilisation de l'API de contrainte HTML5 pour la validation du formulaire

Utilisation de l'API de contrainte HTML5 pour la validation du formulaire

Joseph Gordon-Levitt
Joseph Gordon-Levittoriginal
2025-02-23 08:33:13404parcourir

Using the HTML5 Constraint API for Form Validation

Utilisation de l'API de contrainte HTML5 pour la validation du formulaire

Les plats clés

  • L'API de contrainte HTML5 simplifie la validation du formulaire en permettant aux développeurs d'éviter d'utiliser JavaScript pour les validations de base, ce qui rend le processus plus utilisateur et adapté aux développeurs.
  • La validation de base peut être obtenue en utilisant des valeurs appropriées pour l'attribut de type d'éléments d'entrée, tels que «e-mail» ou «URL». Des attributs de validation supplémentaires comme le motif, requis, MaxLength, Min et Max peuvent être utilisés pour implémenter des contraintes de base.
  • Pour la logique de validation complexe, l'API de contrainte HTML5 peut être utilisée pour effectuer des messages d'erreur de validation côté client et d'affichage. L'API comprend une méthode setCustomValidity () qui peut être utilisée pour marquer les champs comme valides ou non valides et afficher des messages d'erreur personnalisés.
La validation des formulaires Web a toujours été une tâche douloureuse pour de nombreux développeurs. Il est vraiment difficile de réaliser la validation côté client de l'utilisateur, ainsi que des développeurs. En outre, informer les utilisateurs de l'erreur de validation de manière agréable est une tâche fastidieuse. L'API de validation de contrainte HTML5 aide les développeurs à éviter l'utilisation de JavaScript pour des validations simples. Pour une logique de validation complexe, l'API peut être utilisée pour effectuer très facilement la validation latérale du client et l'affichage des messages d'erreur. Dans ce tutoriel, je vous donnerai un aperçu de l'API de validation de contraintes HTML5 et discuterai de la façon de l'utiliser dans vos projets pour créer de meilleurs formulaires Web. Avant d'aller plus loin, consultez ce tableau de compatibilité pour vous assurer quelles fonctionnalités prises en charge par votre navigateur. Notez simplement que, bien que l'API de validation de contrainte HTML5 offre un excellent moyen de valider les champs de formulaire, une validation côté serveur doit toujours être effectuée.

Validation de base de la contrainte

La validation de base peut être effectuée en choisissant les valeurs les plus appropriées pour l'attribut de type des éléments d'entrée. Par exemple, vous pouvez valider un e-mail en écrivant le HTML suivant:
<span><span><span><input</span> type<span>=”email”</span> /></span>		//The field value must be an email</span>
Vous pouvez valider une URL en écrivant le balisage suivant:
<span><span><span><input</span> type<span>=”URL”</span> /></span>			// The field value must be a URL</span>
En utilisant un e-mail ou une URL comme valeur pour le type Attribut, une contrainte est automatiquement ajoutée et les champs sont validés automatiquement lorsque le formulaire est soumis. Le navigateur affiche également un message d'erreur de manière très conviviale si des erreurs de validation se produisent. Il existe également plusieurs attributs basés sur la validation que vous pouvez utiliser dans votre formulaire. Voici quelques-uns des attributs qui peuvent être utilisés pour implémenter des contraintes de base:
  1. Modèle: l'attribut de modèle est utilisé pour spécifier une expression régulière et la valeur du champ doit correspondre à ce modèle. Cet attribut peut être utilisé avec des types d'entrée comme le texte, le mot de passe, l'e-mail, l'URL, le TEL et la recherche. Par exemple, l'extrait HTML suivant utilise un attribut de modèle pour un champ de saisie.
    <span><span><span><input</span> type<span>=”text”</span> pattern<span>=”[1-4]{5}”</span> /></span></span>
    Lorsque le formulaire est soumis, la validation est effectuée sur le champ de saisie. En conséquence, une valeur comme ABCD ne passera pas la validation, dans ce cas.
  2. requis: un attribut requis indique qu'une valeur doit être spécifiée pour l'élément d'entrée.
    <span><span><span><input</span> type<span>=”email”</span> /></span>		//The field value must be an email</span>
    L'extrait ci-dessus utilise l'attribut requis. Si vous laissez le champ vide et essayez de soumettre le formulaire, une erreur de validation se produira.
  3. MaxLength: Il s'agit d'une valeur entière qui spécifie le nombre maximum de caractères autorisés pour un champ de saisie particulier.
    <span><span><span><input</span> type<span>=”URL”</span> /></span>			// The field value must be a URL</span>
    L'extrait ci-dessus ajoute une limite supérieure au champ de saisie. La valeur saisie dans cet élément d'entrée doit comporter moins de 20 caractères.
  4. min & max: Comme les noms le suggèrent, les attributs MIN et MAX spécifient respectivement la limite inférieure et supérieure pour un élément d'entrée.

Gestion des contraintes complexes

Les logiques de validation complexes peuvent être facilement gérées à l'aide de l'API de contrainte HTML5. Par exemple, vous pouvez avoir un champ de mot de passe et un champ de mot de passe de confirmation. Vous devez vous assurer que les valeurs des deux champs sont les mêmes au moment de la soumission. Sinon, un message d'erreur doit être affiché à l'utilisateur. Cela peut en fait être fait très facilement avec l'API de contrainte HTML5. Tout d'abord, nous devons attacher un écouteur en inchange aux champs de mot de passe. L'extrait suivant montre la forme HTML.
<span><span><span><input</span> type<span>=”email”</span> /></span>		//The field value must be an email</span>
Comme il n'y aura pas d'événement de soumission tant que tous les champs ne seront pas entièrement validés, il n'y a vraiment aucun moyen de savoir quand le formulaire est soumis. C’est pourquoi nous nous intéressons à l’événement de changement. Chaque fois qu'un événement de changement est licencié, nous devons vérifier si les deux mots de passe correspondent. Si oui, nous appelons setCustomValidity () sur l'élément d'entrée (champ de mot de passe dans ce cas) avec une chaîne vide comme argument. Cela signifie que le champ de mot de passe est marqué comme valide et donc lorsque le formulaire est soumis, il n'y aura pas d'erreur de validation. D'un autre côté, si nous détectons que les mots de passe ne correspondent pas à un changement L'événement, nous appelons setCustomValidity () avec un message d'erreur comme argument. Cela signifie que le champ de mot de passe sera marqué comme invalide et que le message d'erreur sera affiché lorsque l'utilisateur soumet le formulaire. Le JavaScript suivant implémente cette logique:
<span><span><span><input</span> type<span>=”URL”</span> /></span>			// The field value must be a URL</span>
La meilleure partie de l'utilisation de l'approche ci-dessus est que vous n'avez pas besoin de vous soucier de la façon de présenter le message d'erreur à l'utilisateur. Il vous suffit d'appeler une méthode simple - setCustomValidity () - avec des arguments appropriés et le message d'erreur sera affiché en conséquence.

Conclusion

Vous pouvez implémenter de nombreuses contraintes simples à avancées à l'aide de l'API de validation des contraintes HTML5. L'API propose un énorme ensemble d'outils pour personnaliser le processus de validation. Nous venons de discuter d'une partie de l'API. Pour connaître les concepts plus avancés comme les crochets CSS, les états de validité consultent ce tutoriel à Mozilla.

Des questions fréquemment posées sur l'API de contrainte HTML5 pour la validation du formulaire

Quelle est l'API de contrainte HTML5 et pourquoi est-elle importante pour la validation du formulaire?

L'API de contrainte HTML5 est un ensemble de méthodes et de propriétés disponibles sur des éléments de formulaire qui vous permettent de créer des règles de validation personnalisées. Il est important pour la validation du formulaire car il fournit un moyen standardisé de s'assurer que la saisie de l'utilisateur répond à certains critères avant sa soumission. Cela peut aider à prévenir les erreurs et à améliorer l'expérience utilisateur en fournissant des commentaires immédiats sur la validité de leur entrée.

En quoi l'API de contrainte diffère-t-elle des méthodes de validation JavaScript traditionnelles?

Les méthodes de validation JavaScript traditionnelles impliquent souvent d'écrire du code personnalisé pour chaque champ de formulaire. Cela peut prendre du temps et sujet aux erreurs. L'API de contrainte, en revanche, fournit un ensemble standardisé de méthodes et de propriétés qui peuvent être utilisées pour valider les champs de formulaire. Cela peut rendre votre code plus efficace et plus facile à maintenir.

Puis-je utiliser l'API de contrainte avec tous les types de champs de formulaire?

L'API de contrainte peut être utilisée avec la plupart des types de champs de formulaire, y compris les champs de texte, les cases à cocher, les boutons radio et les menus sélectionnés. Cependant, il peut ne pas fonctionner avec certains types de champs ou champs de formulaire personnalisés créés à l'aide de bibliothèques tierces.

Comment puis-je personnaliser les messages d'erreur affichés par l'API de contrainte?

L'API CONSTRAINT Fournit une méthode SetValidité qui vous permet de définir des messages d'erreur personnalisés. Vous pouvez utiliser cette méthode conjointement avec la propriété ValidationMessage pour afficher les messages d'erreur personnalisés lorsqu'un champ de formulaire échoue à la validation.

Puis-je utiliser l'API de contrainte pour valider les formulaires sur le côté serveur?

L'API de contrainte est une technologie côté client, ce qui signifie qu'elle s'exécute dans le navigateur de l'utilisateur. Cependant, vous pouvez l'utiliser en conjonction avec des méthodes de validation côté serveur pour fournir une solution de validation plus robuste. Il est important de toujours valider la saisie des utilisateurs sur le côté du serveur, car la validation côté client peut être contournée par les utilisateurs malveillants.

Comment puis-je utiliser l'API de contrainte pour valider plusieurs champs de formulaire à la fois?

L'API de contrainte fournit une méthode de vérification qui peut être utilisée pour valider tous les champs d'un formulaire à la fois. Cette méthode renvoie une valeur booléenne indiquant si tous les champs du formulaire sont valides.

Puis-je utiliser l'API de contrainte avec des formulaires créés à l'aide d'éléments de formulaire HTML5?

Oui, l'API de contrainte est conçue Pour travailler avec des éléments de forme HTML5. Il fournit un ensemble de méthodes et de propriétés qui peuvent être utilisées pour valider ces éléments et s'assurer que la saisie de l'utilisateur répond à certains critères.

Comment puis-je utiliser l'API de contrainte pour valider les formulaires en temps réel?

L'API de contrainte peut être utilisée en conjonction avec des écouteurs d'événements JavaScript pour valider les champs de formulaire en temps réel. Par exemple, vous pouvez utiliser l'événement d'entrée pour valider un champ chaque fois que l'utilisateur y tape.

Une caractéristique de HTML5, donc elle peut ne pas être prise en charge dans les navigateurs plus âgés. Cependant, vous pouvez utiliser la détection des fonctionnalités pour vérifier si l'API de contrainte est disponible et fournir une méthode de validation de secours si ce n'est pas le cas.

Comment puis-je utiliser l'API de contrainte pour valider les formulaires dans un contexte mobile?

L'API de contrainte fonctionne de la même manière sur les appareils mobiles que sur les navigateurs de bureau. Cependant, vous devrez peut-être ajuster vos règles de validation pour tenir compte des différentes méthodes d'entrée et des tailles d'écran des appareils mobiles.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn