2013-08-20 130 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