【问题标题】:Custom validator only fired on first button click?自定义验证器仅在第一次单击按钮时触发?
【发布时间】:2011-02-17 19:01:56
【问题描述】:

我在页面上有一个自定义验证器和一些其他验证器。但是,每当我第一次单击提交按钮时,它只会触发自定义验证器,而当我第二次单击该按钮时,它会验证其余的验证器。如果您有任何解决方案,请告诉我。

谢谢

【问题讨论】:

  • 这些验证器是针对相同的还是不同的控件?任何必需的字段验证器?如果您有其中一个并且该字段为空白,它将使其他验证器短路。

标签: asp.net validation customvalidator


【解决方案1】:

检查您的Page_Load 以确保您在第二次通话后没有隐藏或启用某些内容。我之前遇到过类似的问题,这让我很困惑,直到我意识到我正在操纵包含验证器的Page_Load 中的Panel

除此之外,您还需要发布代码(您的Page_LoadClick 事件)。

【讨论】:

    【解决方案2】:

    在客户端

    OnClientClick="return SomeCustomClientCode();"
    

    被调用,asp.net 验证器,例如必填字段验证器被禁用,它不会在验证器集合中列出,并且如果自定义验证通过,则不会验证由该验证器验证的字段和页面回发。

    为避免在自定义验证代码或其他地方显式启用 asp.net 验证器,以便在页面回发之前或在自定义验证开始时激活它,如下所示:

    ValidatorEnable(document.getElementById('<%=rfvDDLStatus.ClientID%>'), true);
    

    rfvDDLStatus ==&gt; required field validator 未触发.. ValidatorEnable ==&gt; Client API 启用 asp.net 验证器

    【讨论】:

      猜你喜欢
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      相关资源
      最近更新 更多