Les contrôles de validation testent les entrées de l'utilisateur, définissent les états d'erreur et génèrent des messages d'erreur. Ils ne modifient pas le flux de traitement de la page, par exemple, ils ne sautent pas de code lorsqu'une erreur de saisie utilisateur est détectée. Au lieu de cela, vous testerez l’état du contrôle dans le code avant d’exécuter la logique spécifique de votre application. Si une erreur est détectée, votre propre code ne s'exécutera pas ; la page poursuivra le traitement et sera renvoyée à l'utilisateur avec un message d'erreur.
Note de sécurité : par défaut, les pages Web ASP.NET vérifient automatiquement si un utilisateur malveillant tente d'envoyer des scripts ou des éléments HTML à votre application.
Vous pouvez tester l’état général de la page et l’état de contrôles individuels. En règle générale, vous effectuez cette opération dans le gestionnaire d'événements que vous créez pour la page.
1. Testez l'état d'erreur courant
Dans votre code, testez la propriété IsValid de la page. Cette propriété accumulera la valeur de la propriété IsValid de tous les contrôles de validation de la page (en utilisant le ET logique). Si un contrôle de validation est défini comme invalide, la propriété de la page renverra false.
Description : Les informations d'authentification ne sont pas disponibles pendant la phase d'initialisation ou de chargement de la page. Cependant, vous pouvez appeler manuellement la méthode Validate pendant Page_Load, puis tester la propriété IsValid de la page.
L'exemple de code suivant illustre un gestionnaire d'événements pour un bouton. Ce code teste la propriété IsValid de la page. Notez qu'aucune autre clause n'est nécessaire ici car la page reviendra automatiquement au navigateur et le contrôle de validation affichera son propre message d'erreur.
void Button1_Click (expéditeur d'objet, System.EventArgs e)
{
si (EstValide)
{
// Effectuez ici des mises à jour de la base de données ou une autre logique.
}
}
2. Testez l'état d'erreur des contrôles individuels
Parcourez la collection Validators de la page, qui contient des références à tous les contrôles de validation. Vous pouvez ensuite vérifier la propriété IsValid de chaque contrôle de validation.
Remarque : Si vous souhaitez effectuer cette vérification pendant Page_Load, vous devez d'abord appeler la méthode Validate manuellement.
L'exemple de code suivant montre comment obtenir l'état d'un seul contrôle de validation.
si (this.IsPostBack)
{
this.Validate();
si (!this.IsValid)
{
chaîne msg = "" ;
// Parcourez tous les contrôles de validation pour voir lesquels
// a généré les erreurs.
foreach (IValidator aValidator dans this.Validators)
{
si (!aValidator.IsValid)
{
msg += "<br />" + aValidator.ErrorMessage;
}
}
Étiquette1.Text = msg ;
}
}
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/dodream/archive/2009/12/17/5024643.aspx.
-