自定义验证程序未启动
本文关键字:启动 程序 验证 自定义 | 更新日期: 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"
您需要将TextBox
的CausesValidation
属性设置为true
,如下所示:
<asp:TextBox runat="server" ID="txtVideo1Url" Columns="20" Width="98%" CausesValidation="true" />
您必须将ValidationGroup="submit"添加到将触发回发的ASP.NET控件中。
如果ASPx中的其他验证器未进行验证,则CustomValidator不会启动。您可能需要使用特定的验证组强制创建Page.Valide("某物")。我建议查看OnTextChanged事件以强制页面验证。