如何判断哪个RequiredFieldValidator失败

时间:2008-10-16 13:08:13

标签: c# .net validation

我的aspx页面上有多个RequireFieldValidators。

在后端(C#)我希望能够告诉哪个控件特别无效,这样我就可以将一个样式应用于该控件。 我使用Page.IsValid方法来查看整个页面是否通过验证,但我需要具体知道哪一个控件失败。

3 个答案:

答案 0 :(得分:2)

正如其他人所提到的,您需要循环页面的验证器集合并检查其状态。 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

结束如果

答案 1 :(得分:1)

所有验证器都被添加到Page的ValidatorCollection(属性Page.Validators)。

您可以遍历此集合以手动验证每个控件。

调用方法IValidator.Validate();

答案 2 :(得分:0)

在内存中,在调用Page.Validate()之后,您可以检查各个验证器,以便在验证器上使用IsValid查看哪些有效。