2008-10-16 5 views
1

Question rapide:RequiredFieldValidator Aide

J'ai plusieurs RequireFieldValidators sur ma page aspx. Sur le backend (C#), je veux savoir quel contrôle n'est pas valide, donc je peux appliquer un style à ce contrôle. J'utilise la méthode Page.IsValid pour voir si la page globale a été validée, mais j'ai besoin de savoir précisément quel contrôle a échoué.

Merci.

Répondre

2

Comme d'autres l'ont mentionné, vous devez boucler la collection de validateurs de la page et vérifier leurs états. MSDN has examples here.

If (Me.IsPostBack) Then 
Me.Validate() 
If (Not Me.IsValid) Then 
    Dim msg As String 
    ' Loop through all validation controls to see which 
    ' generated the error(s). 
    Dim oValidator As IValidator 
    For Each oValidator In Validators 
     If oValidator.IsValid = False Then 
      msg = msg & "<br />" & oValidator.ErrorMessage 
     End If 
    Next 
    Label1.Text = msg 
End If 

End If

1

Tous les validateurs sont ajoutés au ValidatorCollection de la page (propriété Page.Validators).

Vous pouvez parcourir cette collection en boucle pour valider chaque contrôle manuellement.

Méthode d'appel IValidator.Validate();

0

Depuis la mémoire, après avoir appelé Page.Validate(), vous pouvez vérifier les validateurs individuels pour voir ceux qui sont valides avec IsValid sur le validateur.