簡體   English   中英

ASP.Net表單驗證-僅在單擊按鈕時繞過客戶端

[英]ASP.Net form validation - bypass client side only on button click

我有一個帶有一堆字段的表單,正在使用RequiredFieldValidator,RegularExpressionValidator和CustomValidator。

我希望表單在字段之間進行制表時執行客戶端檢查(它當前正在執行此操作),但是我想在單擊asp:button時強制服務器端提交。 現在,如果確定表單字段在客戶端無效,那么提交按鈕將不執行任何操作。 我希望它提交頁面並執行服務器端檢查。

我希望發生這種情況的原因是,我希望頁面返回頂部並顯示所有可能的問題,並使用戶清楚地知道存在問題。 當前,如果他們沒有看到客戶端錯誤消息,則可以單擊“提交”,什么也看不見,最后感到困惑。

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
    }
}

顯然,這還有很多,但是您明白了。

嘗試asp.net ValidationSummary 請參閱http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.validationsummary(v=vs.110).aspx它確實滿足您的要求。 它可以是彈出式通知或內聯通知,告訴用戶他/他需要修復的問題。

如果將“ CausesValidation =” False“”添加到asp:button聲明中。 無論客戶端驗證的結果如何,都會導致發生回發

您可以在客戶端進行此操作,無需回發郵件。 查看ValidationSummary控件:

http://www.w3schools.com/aspnet/control_validationsummary.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM