Rob*_*ert 29 asp.net validation controls
我正在使用页面,我得到一个Page.IsValid = false,我正在尝试确定哪个控件导致验证问题.
Ozz*_*rnz 22
感谢史蒂芬这个答案,但我不得不作出()一些改变它作为this.Validators.Where工作出现了一些问题.
using System.Linq;
List<IValidator> errored = this.Validators.Cast<IValidator>().Where(v => !v.IsValid).ToList();
Run Code Online (Sandbox Code Playgroud)
Cha*_*ins 20
在代码(page_load)中,您可以这样做:(
根据MSDN:http://msdn.microsoft.com/en-US/library/dh9ad08f%28v=VS.80%29.aspx)
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
Run Code Online (Sandbox Code Playgroud)
在标记中,你可以......
接受的答案允许您找到失败的验证器的验证消息。如果要查找验证失败的控件的ID,可以通过将验证器转换为公开属性的BaseValidator来获取该IDControlToValidate。例如:
For Each v As BaseValidator In Page.Validators
If Not v.IsValid Then
' You can see the control to validate name and error message here.
Debug.WriteLine(v.ControlToValidate)
Debug.WriteLine(v.ErrorMessage)
End If
Next
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15325 次 |
| 最近记录: |