簡體   English   中英

使用JavaScript的ASP.NET動態驗證

[英]ASP.NET Dynamic Validation using JavaScript

我有一個問題,我有兩個要驗證的復選框,因此必須選擇其中一個。

我正在使用javascript創建方法:

    function learningDisValidator(source, args) {
        if (document.getElementById("<%= persLearningDisabilityYes.ClientID %>").checked || document.getElementById("<%= persLearningDisabilityNo.ClientID %>").checked) {
            args.IsValid = true;
        }
        else {
            args.IsValid = false;
        }

    }

比我有一個自定義字段驗證器

    <asp:CustomValidator id="learningDisVal" runat="server" Display="Dynamic" Enabled="true" ErrorMessage="Learning Disability is Required" ClientValidationFunction="learningDisValidator"></asp:CustomValidator>

現在,此驗證器由於某種原因無法正常工作。 我的問題是,如果使用以下命令選擇了某些選項,則我還有其他在運行時啟用的驗證器

ValidatorEnable(document.getElementById('persLearningDisabilityDetailsVal'), true);

這些確實起作用。 我在運行時啟用的這些驗證器遇到的問題是,啟用它們后,就會立即顯示錯誤消息,而不是在單擊“提交”按鈕之后才顯示。我對ASP.NET還是很陌生。 任何幫助將不勝感激,謝謝。

編輯:根據用戶的選擇,我還有其他啟用的驗證器,例如,如果選中了單選按鈕1,它將顯示新的表單字段並啟用“ MAN”驗證器;如果選中了單選按鈕2,它將顯示新的表單字段並為“ WOMAN”啟用了驗證器。 現在我的問題是,如上所示,一旦啟用了驗證器,它的錯誤消息就會立即顯示在屏幕底部的錯誤面板中,它基本上是一個帶有asp.net自定義驗證器的div。 我希望在單擊“提交”按鈕后顯示此消息,從而使用戶有時間弄清楚他的“自己的”,而不是告訴他在給他機會之前需要某些信息。 至於代碼,我不知道還能提供什么,但我會嘗試:

<div class="col1of1val"><asp:RequiredFieldValidator runat="server" ID="accHostFamilyDetailsAllergiesVal" Display="Dynamic" ControlToValidate="accHostFamilyDetailsAllergies" ErrorMessage="field cannot be empty" Enabled="false"></asp:RequiredFieldValidator></div>

並在javascript中:

ValidatorEnable(document.getElementById('accHostFamilyDetailsAllergiesVal'), true);

只需使用Jquery並在表單提交之前檢查兩個值是否都為null。 像這樣

測試“”,如果無效則測試“ 0”

$("#btnSubmit").click(function() {

if ($("#checkbox1").val() == "" && $("#checkbox2").val() == "")
 {
    // causes form submit to stop and will not post to the server
      alert("some error message");
     return false;
 }

});

暫無
暫無

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

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