自定义验证器不会触发,即使文本框不为空也是如此

问题描述

|| 我有一个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()使用强制验证。