我有一个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。
答案 0 :(得分:0)
如果您在测试时文本框为空,则不会触发。你需要设置
ValidateEmptyText="True"
在您的customvalidator中。
答案 1 :(得分:0)
您是否更改了ClientId模式,Validators可能不支持客户端Id模式静态
Validators and ClientIDMode issue (ASP.NET)
////////////////////
您可以尝试使用Page.Validate();
强制验证