2013-08-20 95 views
0

我有一个包含所有这些字段的表单,它们都附加了必需的验证器。试图通过验证提交表格

我的目标是让用户输入表格,如果他填写姓氏和命中提交表格仍然会回发保存姓氏,但其他3个字段将显示一条错误消息,说“等等等等”

基本上我需要验证表单,但即使表单失败我只想显示一个错误摘要,但仍然提交有效的字段,如果有的话。

<input runat="server" id="LastName" type="text" name="LastName"/> 
<asp:RequiredFieldValidator ID="rvLastName" runat="server" ErrorMessage="Please type last name" ControlToValidate="LastName">Last Name Required</asp:RequiredFieldValidator> 

<input runat="server" id="FirstName" type="text" name="FirstName"/> 
<required first Name> 
<input runat="server" id="MiddleName" type="text" name="MiddleName"/> 
<required middle name> 
<input runat="server" id="EmailAddress" type="text" name="EmailAddress"/> 
<required emailaddress> 



<script type="text/javascript"> 
    $(document).ready(function() { 

     $('#forminfo').validate({ 
      rules: { 
       LastName: { 
        required: true 
       }, 
       EmailAddress: { 
        required: true, 
        email: true 
       } 
      },  
      messages: { 
       LastName: "Please enter your last name", 
       EmailAddress: "Please enter a valid email address"   

      } 
     });  
    }); 
</script> 
+1

您可以设置'EnableClientScript = false'并在代码隐藏中自己调用'Page.Validate()',不是吗? –

+0

将enableclientscript设置为false会关闭验证我不想关闭验证如果字段无效我仍想显示错误消息并保存有效的值 – Jay

+1

错误仍然可见回发,但回发将仍然发生在禁用客户端验证。 –

回答

1

试图解释什么Tim Schmelter建议。

在标记设置EnableClientScript = "false"

<input runat="server" id="LastName" type="text" name="LastName"/> 
<asp:RequiredFieldValidator ID="rvLastName" runat="server" EnableClientScript="false" ErrorMessage="Please type last name" ControlToValidate="LastName">Last Name Required</asp:RequiredFieldValidator> 

<input runat="server" id="FirstName" type="text" name="FirstName"/> 
<required first Name> 
<input runat="server" id="MiddleName" type="text" name="MiddleName"/> 
<required middle name> 
<input runat="server" id="EmailAddress" type="text" name="EmailAddress"/> 
<required emailaddress> 
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" /> 

我添加了一个提交按钮。在代码中,按钮的事件处理程序,验证页面如下:

protected void btnSubmit_Click(object sender, EventArgs e) 
{ 

    if (Page.IsValid) 
    { 
     //Do other tasks 
    } 
    else 
    { 
     //Do tasks even if validation fails 
    } 
} 

希望它是有道理的!

+0

这是有道理的,我有我认为它不适合我,因为我的JavaScript代码,我用来验证也。有没有一种方法,我可以做这个与JavaScript验证相同的方法? – Jay

+0

如果您使用JavaScript验证插件,回发后的错误信息将会丢失。 – afzalulh