我有一个包含大量字段的表单,我使用的是RequiredFieldValidator,RegularExpressionValidator和CustomValidator。
我希望我的表单在字段之间进行选项卡时执行客户端检查(它目前正在执行此操作),但我想在单击asp:按钮时强制服务器端提交。现在,如果在客户端确定表单字段无效,则提交按钮不会执行任何操作。我希望它提交页面并执行服务器端检查。
我希望这种情况发生的原因是因为我希望页面返回到顶部并显示所有可能的问题,并使用户明白存在问题。目前,如果他们没有看到客户端错误消息,他们可能只是单击提交,看不到任何事情发生,并最终混淆。
aspx页面上的示例字段:
<asp:TextBox MaxLength="30" ID="LNom" runat="server" /><asp:RequiredFieldValidator ID="reqLNom" runat="server" ErrorMessage="Last Name Required" ControlToValidate="LNom" /><asp:CustomValidator ID="valLNom" runat="server" ErrorMessage="Please enter a valid last name (less than 30 characters in length)." ControlToValidate="LNom" OnServerValidate="ValidationLastName" />
<asp:Button ID="Submit" Text="Submit" runat="server" onclick="Submit_Click" />
提交按钮代码背后:
protected void Submit_Click(object sender, EventArgs e)
{
Page.Validate();
if (Page.IsValid)
{
// Do stuff
}
}
显然这还有一点,但你明白了。
答案 0 :(得分:1)
尝试asp.net ValidationSummary
。见http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationsummary(v=vs.110).aspx
它完全符合您的要求。它可以是弹出或内联通知,告诉用户他/她需要修复的内容。
答案 1 :(得分:1)
如果您在asp:按钮声明中添加'CausesValidation =“False”'。无论客户端验证的结果如何,这都会导致回发发生
答案 2 :(得分:1)
你可以做这个客户端,不需要回发。查看ValidationSummary控件:
http://www.w3schools.com/aspnet/control_validationsummary.asp