我使用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"** />
答案 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>