问题描述
||
我有一个cutomvalidator,textBox.text = 1和一个子例程:
1.
asp:TextBox id=\"tbxnumber\" runat=\"server\" MaxLength=\"100
2.
asp:CustomValidator id=\"vNumeric\" runat=\"server\" ControlTovalidate=\"tbxnumber\" display=\"None\" OnServerValidate=\"ValidateNumbers2\"
3.
Sub ValidateNumbers2(ByVal source As Object,ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
If Not IsNumeric(args.Value) Then
args.IsValid = False
Else
args.IsValid = True
End If
End Sub
当我尝试调试vNumeric.Validate时,子ValidateNumbers2不会触发?为什么?
有想法吗?我在这个小问题上浪费了太多时间。由于某些原因,我只需要使用customvalidator。
解决方法
如果您在测试时该文本框为空,则不会触发。你需要设置
ValidateEmptyText=\"True\"
在您的customvalidator中。
, 您是否更改了ClientId模式,验证程序可能不支持静态客户端ID模式
验证程序和ClientIDMode问题(ASP.NET)
////////////////////
您可以尝试通过Page.Validate()使用强制验证。