【问题标题】:ASP.NET - Validating Form Before Standard ValidationASP.NET - 在标准验证之前验证表单
【发布时间】:2013-10-04 15:11:43
【问题描述】:

我有一个 ASP.NET 表单,其中有一个 ImageButton 控件,如下所示(请注意,这只是更大表单的一部分):

<asp:CheckBox runat="server" ID="checkbox1" Text="Validate" Enabled="false" />
<asp:TextBox runat="server" ID="textbox1" MaxLength="30" />
<asp:RequiredFieldValidator ID="validator1" ControlToValidate="textbox1" Text="required!" runat="server" ValidationGroup="group1" />
<asp:ImageButton ID="button1" runat="server" Width="24" ValidationGroup="group1" />

使用 Javascript,我可以禁用和启用RequiredFieldValidator,如下所示:

function test() {
  var checkbox1 = document.getElementById("<%=checkbox1.ClientID %>");
  var ckOwnerIsOperator = document.getElementById('<%=ckOwnerIsOperator.ClientID %>');

  if (checkbox1.checked)
    ValidatorEnable(validator1, false);
}

我正在寻找的是在单击按钮时在按钮验证之前触发的事件。我知道我可以在复选框单击事件中执行此操作,但这不是我需要的。复选框单击事件有一个问题,如果另一个控件触发异步回发,我会丢失验证器状态,因此我希望在页面验证发生之前调用 test() 函数。

谢谢大家

【问题讨论】:

    标签: c# javascript asp.net validation


    【解决方案1】:

    您可以在按钮上添加onclientclick="test()"

    【讨论】:

    • 那行得通……出于某种原因,我以为我试过了,但显然没有!谢谢
    • 也许你使用了onclick,就像我在编辑之前一样。快速编码时很容易混淆两者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多