自定义验证程序未启动

本文关键字:启动 程序 验证 自定义 | 更新日期: 2023-09-27 18:20:14

我意识到有很多类似的帖子,但不幸的是,我没有找到一个对我有用的帖子。基本上,我有一个asp:customvalidator,我正试图将它与其他验证器一起添加到validationgroup中,以便所有错误消息都显示在同一个警报中。这是客户验证器

<asp:TextBox runat="server" ID="txtVideo1Url"  Columns="20" Width="98%" />
<asp:CustomValidator runat="server" ID="valURL1" ControlToValidate="txtVideo1Url" OnServerValidate="txtVideo1Url_ServerValidate" Display="None" ValidationGroup="submission" />

这是事件

    protected void txtVideo1Url_ServerValidate(object sender, ServerValidateEventArgs e)
    {
        e.IsValid = false;
        valURL1.Text = "FAIL!";
    }

这场活动一点也不火,我也不知道为什么。一旦我可以触发事件,我就可以把一些实际的逻辑放进去,哈哈

更新:我注意到我现在可以触发事件了,但是validationsummary被设置为在消息框中显示所有错误,并且这个错误不会被添加到消息框中。

自定义验证程序未启动

记住在CustomValidator上设置此属性。。。

ValidateEmptyText="True"

您需要将TextBoxCausesValidation属性设置为true,如下所示:

<asp:TextBox runat="server" ID="txtVideo1Url"  Columns="20" Width="98%" CausesValidation="true" />

您必须将ValidationGroup="submit"添加到将触发回发的ASP.NET控件中。

如果ASPx中的其他验证器未进行验证,则CustomValidator不会启动。您可能需要使用特定的验证组强制创建Page.Valide("某物")。我建议查看OnTextChanged事件以强制页面验证。