Validation du balisage dans Visual Web Developer

Mise à jour : novembre 2007

Dans le Concepteur Web de Visual Studio, lorsque vous modifiez le balisage en mode Source, l'éditeur vérifie continuellement que le balisage créé est valide. La validation du balisage fonctionne comme le vérificateur d'orthographe dans un programme de traitement de texte. L'éditeur examine le balisage et ajoute des lignes rouges ondulées sous les éléments ou les attributs qui ne sont pas valides.

L'éditeur détermine ce qui est valide en fonction du schéma de validation actuellement sélectionné. Par exemple, si vous avez défini le navigateur actif comme étant Internet Explorer 6, l'éditeur compare le balisage de votre page à un schéma qui définit ce qu'Internet Explorer 6 considère comme du HTML valide. Dans Internet Explorer 6, il n'est pas nécessaire que les attributs de balises soient entre guillemets. Par conséquent, l'éditeur ne marque pas l'attribut text dans l'exemple de code suivant.

<asp:button  id="button1" text=Button1 />

En revanche, si vous modifiez le schéma du navigateur actuel en XHTML 1.0 Transitional, l'éditeur marque la valeur de l'attribut de texte, parce que le XHTML requiert que tous les attributs soient entre guillemets.

Une erreur de validation n'empêche pas l'exécution de la page. Elle vous fournit simplement des commentaires indiquant que le balisage de la page n'est pas conforme au schéma du navigateur actuel.

Sélection d'un schéma de navigateur

Visual Studio inclut des schémas pour les navigateurs couramment utilisés (tels que Netscape Navigator et Internet Explorer) et pour les normes courantes (telles que XHTML Transitional 1.0). Vous pouvez sélectionner un schéma dans la liste déroulante de la barre d'outils Modification de la source HTML. Vous pouvez également sélectionner un schéma de validation dans la boîte de dialogue Options. Pour plus d'informations, consultez Comment : sélectionner des schémas de validation pour l'édition HTML dans Visual Web Developer.

Affichage des erreurs de validation

L'éditeur affiche les erreurs de validation de la façon suivante :

  • Éléments soulignés   Les éléments ou les attributs qui ne sont pas valides sont soulignés avec des lignes rouges ondulées.

  • Info-bulles   Si vous maintenez le pointeur de la souris sur un élément souligné, une info-bulle affiche les détails concernant l'erreur.

  • Liste d'erreurs   Si la fenêtre Liste d'erreurs est ouverte, vous voyez une liste de toutes les erreurs de validation. Un double-clic sur une erreur dans la fenêtre Liste d'erreurs vous permet d'atteindre directement l'erreur dans l'éditeur.

Liste des contrôles de validation

Lors de la validation du balisage, les éléments suivants sont vérifiés :

  • Balises autorisées   Certains schémas de navigateur prennent en charge des balises qui ne sont pas autorisées dans les autres. Par exemple, la balise <blink> est prise en charge uniquement dans les navigateurs Netscape, donc cette balise est marquée comme non valide dans les autres schémas.

  • Attributs autorisés   La validation vérifie que les attributs dans un élément sont autorisés pour cet élément.

  • Attributs requis   La validation vérifie que tous les attributs requis sont inclus. En XHTML par exemple, la balise <script> doit avoir un attribut type.

  • Valeurs d'attributs autorisées   Si un attribut prend en charge uniquement certaines valeurs énumérées, telles que true ou false, la validation marque toutes les valeurs non conformes aux valeurs autorisées.

  • Valeurs CSS autorisées   La validation vérifie que les valeurs des feuilles de style en cascade (CSS) pour l'attribut style sont autorisées.

  • Éléments enfants autorisés   La validation vérifie que les éléments enfants sont autorisés pour un élément parent donné.

  • Utilisation correcte des guillemets autour des valeurs d'attributs   Selon le schéma, les guillemets autour des valeurs d'attributs peuvent être requis. Pour les schémas où les guillemets sont requis, la validation vérifie que si une valeur est entre guillemets, ils sont équilibrés. Pour les schémas où les guillemets sont facultatifs, la validation les vérifie d'après les options de validation définies. Consultez la section « Personnalisation de la validation » plus loin dans cette rubrique.

  • Règles de casse   Selon le schéma, les noms d'éléments et d'attributs doivent parfois être en minuscules. Si le schéma autorise les lettres en majuscules ou en minuscules dans les noms, la validation les vérifie d'après les options de validation définies. Consultez la section « Personnalisation de la validation » plus loin dans cette rubrique.

  • ID uniques des éléments   La validation vérifie que les identificateurs (ID) des éléments sont uniques dans toute la page.

  • Éléments correctement construits   La validation confirme que toutes les balises d'ouverture ont des balises de fermeture correspondantes, si le schéma le requiert.

  • Ordre des éléments d'ouverture et de fermeture   La validation vérifie que vous n'avez pas interverti les éléments d'ouverture et de fermeture, tels que <b><i>text</b></i>.

  • Balises ou attributs obsolètes   Un schéma comme le XHTML 1.0 Transitional marquera des balises telles que <font> avec une erreur indiquant que la balise n'est plus utilisée.

  • Cibles valides pour les liens hypertexte relatifs et les graphiques   La validation confirme la validité de toutes les cibles relatives au site actuel, mais elle ne vérifie pas la validité des URL qualifiées complètes.

Validation et génération

La validation et la génération sont deux opérations distinctes. Lorsque vous travaillez dans le concepteur, Visual Studio ajoute le balisage à votre page ou le génère. Le balisage créé par le concepteur n'est pas déterminé par le schéma du navigateur actuel. Au lieu de cela, le Concepteur de pages Web dans Visual Studio génère toujours un balisage compatible XHTML 1.1. Pour plus d'informations, consultez XHTML dans Visual Web Developer.

Validation de la sortie de la page

La validation vérifie le balisage de la page dans le concepteur. Elle ne peut pas garantir que la sortie de la page sera validée par rapport à un schéma spécifique lorsque la page s'exécute dans le navigateur. Les contrôles serveur ASP.NET et la page elle-même affichent le balisage, et quelquefois le script, dans la page lorsque celle-ci est traitée. Cette sortie n'est pas accessible à la validation dans le concepteur.

Le balisage et les scripts créés au moment de l'exécution seront valides pour la plupart des navigateurs. Les pages et les contrôles serveur ASP.NET affichent un balisage compatible avec la norme XHTML 1.1. La plupart des navigateurs ciblent à présent des normes plutôt que de prendre en charge des balises spécifiques au navigateur, en particulier le XHTML. Comme la sortie XHTML est compatible avec la plupart des navigateurs, le balisage rendu au moment de l'exécution par la page et les contrôles sera valide.

Pour plus d'informations, consultez ASP.NET et XHTML.

Validation et IntelliSense

Spécifier un navigateur cible permet de contrôler non seulement la validation, mais également la liste des balises et des attributs disponibles dans IntelliSense. Par exemple, le schéma Internet Explorer 3.02 ne comprend pas d'attributs de style parce qu'Internet Explorer 3.02 ne les prend pas en charge. De la même façon, le schéma XHTML 1.0 Transitional ne comprend pas de balise <font> parce que les balises <font> sont désapprouvées dans le XHTML.

Personnalisation de la validation

Selon le schéma de navigateur utilisé, vous pouvez spécifier des options de validation supplémentaires. Par exemple, si vous utilisez le schéma Internet Explorer 6, vous pouvez sélectionner si la validation marque les noms d'éléments et d'attributs qui ne sont pas en minuscules. Pour plus d'informations, consultez Comment : définir des options de validation pour l'édition HTML dans Visual Web Developer.

Désactivation de la validation

Si vous ne souhaitez pas utiliser la validation, vous pouvez la désactiver. Pour plus d'informations, consultez Comment : définir des options de validation pour l'édition HTML dans Visual Web Developer.

Validation de plusieurs espaces de noms

Dans une page Web, il est possible d'inclure des blocs de balisage déclarés avec leur propre espace de noms. Dans une page Web ASP.NET par exemple, vous pouvez inclure un bloc de XML incorporé qui comprend une déclaration d'espace de noms dans laquelle les éléments XML sont définis. Dans ce cas, la validation est basée sur une combinaison du schéma de page actuel et de l'espace de noms pour le bloc incorporé.

Voir aussi

Tâches

Comment : sélectionner des schémas de validation pour l'édition HTML dans Visual Web Developer

Concepts

ASP.NET et XHTML