代码之家  ›  专栏  ›  技术社区  ›  Mike Fielden

如何判断哪个RequiredFieldValidator失败

  •  1
  • Mike Fielden  · 技术社区  · 16 年前

    我的ASPX页面上有多个RequireFieldValidator。

    在后端(C),我想知道具体哪个控件无效,所以我可以将样式应用于该控件。 我使用page.isvalid方法来查看整个页面是否通过了验证,但我需要明确知道哪一个控件失败了。

    3 回复  |  直到 6 年前
        1
  •  2
  •   Nikki9696    16 年前

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

    结束如果

        2
  •  1
  •   bob    16 年前

    所有验证程序都将添加到页面的validatorcollection(property page.validators)。

    您可以循环此集合以手动验证每个控件。

    调用方法ivalidator.validate();

        3
  •  0
  •   Arry    16 年前

    从内存中,调用page.validate()之后,您可以检查各个验证器,以查看在验证器上使用isvalid时哪些是有效的。