Validation côté client pour les contrôles serveur ASP.NET

Mise à jour : novembre 2007

Si le navigateur de l'utilisateur prend en charge le DHTML, les contrôles de validation ASP.NET peuvent effectuer la validation à l'aide du script client. Les contrôles peuvent fournir des informations immédiates (sans aller-retour vers le serveur), ce qui améliore le travail de l'utilisateur avec la page.

En général, vous n'avez aucune modification à apporter à votre page ou aux contrôles de validation pour utiliser la validation côté client. Les contrôles détectent automatiquement si le navigateur prend en charge le DHTML et effectuent leur vérification en conséquence. La validation côté client utilise le même mécanisme d'affichage des erreurs que la validation côté serveur.

Note de sécurité :

La validation est effectuée sur le serveur même si elle a déjà été exécutée sur le client. Ceci vous permet de vérifier l'état de validation dans le code serveur et garantit que les utilisateurs ne contourneront pas la validation.

Différences de la validation côté client

Si la validation est exécutée sur le client, les contrôles de validation incluent certaines fonctionnalités supplémentaires :

La validation côté client présente de légères différences :

  • Si la validation côté client est activée, la page inclut des références aux bibliothèques de scripts utilisées pour effectuer cette validation.

  • Lorsque vous utilisez un contrôle RegularExpressionValidator, vous pouvez vérifier les expressions sur le client si un langage compatible ECMAScript (tel que Microsoft JScript) est disponible. Les expressions régulières côté client diffèrent par de petits détails du contrôle des expressions régulières effectué sur le serveur à l'aide de la classe Regex.

  • La page comprend une méthode côté client permettant d'intercepter et de gérer l'événement Click avant de soumettre la page.

Modèle objet de validation client

Les contrôles de validation présentent presque le même modèle objet sur le client que sur le serveur. Par exemple, vous pouvez tester la validation en lisant la propriété IsValid d'un contrôle de validation de la même façon sur le client et le serveur.

Cependant, les informations de validation exposées sur la page présentent des différences. Sur le serveur, la page prend en charge des propriétés ; sur le client, elle contient des variables globales. Le tableau suivant compare les informations exposées sur la page.

Variable de la page client

Propriété de la page serveur

Page_IsValid

IsValid

Page_Validators (tableau)   Contient les références à tous les contrôles de validation de la page.

Validators (collection)   Contient les références à tous les contrôles de validation.

Page_ValidationActive   Valeur booléenne qui indique si la validation doit avoir lieu. Définissez cette variable avec la valeur false pour désactiver la validation côté client par programme.

(pas d'équivalent)

Remarque :

Toutes les informations de validation de la page doivent être considérées comme étant en lecture seule.

Publication des pages avec les erreurs de validation côté client

Dans certaines instances, il se peut que vous préfériez ne pas utiliser la validation côté client et n'utiliser que la validation côté serveur, même si la validation côté client est disponible. Par exemple, la validation côté client peut ne pas être possible si la validation nécessite des informations ou des ressources disponibles uniquement sur le serveur, comme l'accès à une base de données.

Par défaut, lorsque la validation côté client est effectuée, l'utilisateur ne peut pas publier la page sur le serveur si celle-ci comporte des erreurs. Vous pouvez, cependant, avoir besoin d'autoriser la publication malgré la présence d'erreurs. Par exemple, il se peut qu'une page affiche un bouton « Annuler » ou un bouton de navigation et que vous souhaitiez que ce bouton soumette la page, même en cas d'échec de la validation. Pour plus d'informations, consultez Comment : désactiver la validation pour les contrôles serveur ASP.NET.

Voir aussi

Concepts

Types de validation pour les contrôles serveur ASP.NET

Autres ressources

Contrôles ASP.NET de validation