如何对控件使用JavaScript验证和asp.net验证

时间:2013-04-20 05:49:00

标签: c# asp.net c#-4.0

我使用asp.net验证组和客户端验证(javascript)单击按钮。如果它返回true,它首先优先选择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"** />

1 个答案:

答案 0 :(得分: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>