ASP.NET - 在标准验证之前验证表单

时间:2013-10-04 15:11:44

标签: c# javascript asp.net validation

我有一个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()函数。

谢谢大家

1 个答案:

答案 0 :(得分:1)

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