簡體   English   中英

MVC3條件JQuery驗證

[英]MVC3 Conditional JQuery Validation

我正在嘗試使用jQuery驗證程序進行一些條件驗證。

我在javascript中有一個向導,可在進行下一步時調用validate方法:

var validator = $("form").validate();
var anyError = false;

step.find("input").each(function () {
    if (!validator.element(this)) {
        // validate every input
        anyError = true;
    }
});

if (anyError) {
    return false;
}

當我在模型上具有[Required]屬性時,一切正常。

但是我有這種情況:

  • 我可以選擇以下選項:電子郵件或Ftp
  • 選擇“電子郵件”選項后,我要顯示電子郵件地址字段並添加驗證
  • 選擇Ftp選項后,我不想驗證電子郵件地址

這是電子郵件地址的html代碼段。

<div class="email-address" style="display: none;">
   <label class="fullwidth" for="EmailAddress">Email Address</label>
   @Html.TextBoxFor(m => m.EmailAddress, new { @class = "longtext" })
   <div id="email-validation">
   </div>

我已經嘗試過各種方法,但是下一個按鈕驗證例程始終認為該表單有效。 例如。

$("form").validate({
    errorLabelContainer: '#email-validation',
    rules: {
        EmailAddress: {
           required: true
        }
    },
    messages: {
        EmailAddress: "Please enter an email address"
    }
});

任何幫助表示贊賞。

我不確定,但是我很確定您不能將標准的jquery-validation與MVC3客戶端驗證結合使用。.您必須做一個或另一個。

更具體地說,MCV3客戶端驗證將jquery-validation修改為自己使用,這與獨立使用jquery-validation沖突。

我會使用disabled輸入不參與驗證的事實。 添加服務器端所需,但僅在選擇ftp時禁用並隱藏EmailAddress。

暫無
暫無

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

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