自定义验证器未触发

Mar*_*eld 6 c# asp.net validation

我意识到有很多类似的帖子,但是我还没有找到一个对我有用的帖子.基本上,我有一个asp:customvalidator,我试图用其他验证器添加到验证组,以便所有错误消息出现在同一个警报中.这是customvalidator

<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" />
Run Code Online (Sandbox Code Playgroud)

这是事件

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

事件根本没有解雇,我不明白为什么.一旦我可以获得事件触发,我可以将一些实际的逻辑放入其中,哈哈

更新:我注意到我现在能够触发事件,但是validationsummary设置为显示消息框中的所有错误,并且此错误未添加到消息框中.

Rem*_*tec 22

请记住在CustomValidator上设置此属性...

ValidateEmptyText="True"
Run Code Online (Sandbox Code Playgroud)


Kar*_*son 10

您需要设定CausesValidation的属性TextBoxtrue,就像这样:

<asp:TextBox runat="server" ID="txtVideo1Url"  Columns="20" Width="98%" CausesValidation="true" />
Run Code Online (Sandbox Code Playgroud)

  • 就像另一个答案所说的那样(Ilkka)`ValidationGroup`属性就是问题,要么将其删除,要么将其添加到执行回发的控件中. (3认同)
  • 感谢您的回复。我刚刚将 CausesValidation="true" 添加到文本框,但它仍然没有触发 (2认同)