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 :
Si vous résumez les messages d'erreur de validation, vous pouvez les afficher dans une boîte de message apparaissant lorsque l'utilisateur soumet la page. Pour plus d'informations, consultez Comment : contrôler l'affichage des messages d'erreur de validation pour les contrôles serveur ASP.NET.
Le modèle objet des contrôles de validation est légèrement différent sur le client. Consultez Modèle objet de validation client, plus loin dans cette rubrique.
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