2013-04-20 75 views
3

我使用带有asp.net验证组和客户端验证(javascript)的按钮单击。如果它返回true,那么它会首选JavaScript验证,意味着它直接转到serverside按钮单击事件而不检查asp.net验证。如何对控件使用JavaScript验证和asp.net验证

<asp:ImageButton ID="img_btn_register" runat="server" 
    ImageUrl="~/images/Register1.png" 
    **OnClientClick="return validat_form()"** OnClick="img_btn_register_Click1" 
    **ValidationGroup="qa"** /> 

回答

4

根据你的问题我知道你需要你的字段验证应该先发生,然后脚本应该执行。

您可以在您的客户端脚本中调用Page_ClientValidate()以显式执行所有验证,如果成功,则只应执行客户端脚本。

这里是在同一个小的演示:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 

    <script type="text/javascript" language="javascript"> 
     function ClientScript() { 
      if (Page_ClientValidate("qa"))**// first check the validators in ValidationGroup "qa"** 
      { 
       alert("Save all Modification?"); 
      } 
     } 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ValidationGroup="qa" runat="server" ControlToValidate="TextBox1" 
      Text="*" ErrorMessage="Value in Textbox1 is required!"> 
     </asp:RequiredFieldValidator> 
     <asp:Button ID="Button1" runat="server" ValidationGroup="qa" Text="Test Validation" OnClientClick="ClientScript()" /> 
    </div> 
    </form> 
</body> 
</html> 
+1

太谢谢你了它的工作对我来说。 – user2176150 2013-04-20 06:04:40