[英]How to bypass Asp.net control validation only for few control on button click?
[英]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.