簡體   English   中英

如何繞過Asp.net控件驗證僅對單擊按鈕時的幾個控件有效?

[英]How to bypass Asp.net control validation only for few control on button click?

我有一個ASP.NET表單,該表單需要用戶輸入。 表單上有一個“保存並添加”按鈕以執行不同的功能。

我遇到的問題是在表單上我有一組驗證器,並且當按下“添加”按鈕時,該表單得到了驗證。 頁面上有5個控件,但在“添加”按鈕單擊期間,我僅需要驗證兩個控件。 僅在單擊“保存”按鈕期間,我才應驗證所有控件。

單擊添加按鈕時如何忽略這3個控件的驗證。

可以解決嗎?

我想跳過一些驗證,您可能想在jquery使用ValidatorEnable方法來啟用/禁用。 這樣的東西:

Email:
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="valEmail" ControlToValidate="txtEmail" runat="server" 
     ErrorMessage="*Required" ForeColor="Red" ValidationGroup="Group2" />
<br />
Enable Validation:
<input type="checkbox" id="CheckBox2 checked="checked" />
<br />
<asp:Button Text="Submit" runat="server" ValidationGroup="Group2" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    $(document).on("click", "#CheckBox2", function () {
        var valEmail = $("[id*=valEmail]");
        ValidatorEnable(valEmail[0], $(this).is(":checked"));
    });
</script>

這是現場演示,以備您在實施之前進行測試: https : //www.aspsnippets.com/demos/642/

編輯

要使用純javascript而不是jquery來完成此任務,您可以執行以下操作:

ValidatorEnable(document.getElementById('<%=yourValidator.ClientID%>'), false);

暫無
暫無

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

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