我的aspx页面上有多个RequireFieldValidators。
在后端(C#)我希望能够告诉哪个控件特别无效,这样我就可以将一个样式应用于该控件。 我使用Page.IsValid方法来查看整个页面是否通过验证,但我需要具体知道哪一个控件失败。
答案 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查看哪些有效。