我知道这已经被问了很多,但是我有一个没有被解雇的服务器端自定义验证器,我找不到原因(另外,我复制了从其他地方工作的示例并且无法使其工作...... )
编码:
<asp:CustomValidator ID="MyValidator" runat="server" ErrorMessage="My error message" OnServerValidate="MyValidator_OnServerValidate" />
验证功能
Protected Sub MyValidator_OnServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles MyValidator.ServerValidate
Dim i As Integer
i = 0
args.IsValid = False
End Sub
这是我正在做的最后一个测试(从其他问题复制),但我也尝试将验证器附加到一个控件(并添加 ValidateEmptyText)并删除handles MyValidator.ServerValidate
并将其添加到带有onServerValidate
.
(我通常是 Java 程序员,所以这可能是我应该看到的一个非常基本的错误,不要低估我的 .Net 无知)
提前致谢
编辑:添加提交按钮的代码...
<asp:Button ID="lbGuardar" runat="server" CssClass="button" Text="Guardar" CausesValidation="true" ></asp:Button>
编辑 2:在我的按钮代码上添加了一个Page.validate()
,它不会调用验证器的服务器端。此外,正在调用自定义验证器(至少是它的客户端/javascript 端,但不是服务器端)