0

我有一个 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。

4

2 回答 2

0

如果您在测试时文本框为空,则不会触发。你需要设置

 ValidateEmptyText="True"

在您的自定义验证器中。

于 2011-05-30T09:57:42.963 回答
0

你有没有改变它的 ClientId 模式,Validators 可能不支持客户端 Id 模式静态

验证器和 ClientIDMode 问题 (ASP.NET)

///////////////////

您可以尝试通过 Page.Validate() 使用强制验证;

于 2011-05-30T10:12:14.013 回答