2016-05-02 63 views
1

我正在開發一個poc,其中我使用required屬性爲一些文本字段和jQuery驗證器用於另一個字段(不是必填字段,但爲其添加了自定義驗證)。下面是同樣的小提琴。HTML5'required'和jQuery驗證器的問題

POC https://jsfiddle.net/rkLpovda/1/

我很期待是...

  1. 沒事的時候提供,當我點擊提交按鈕,它應該 的顯示誤差前兩文本字段 - O/P:按預期工作。 沒有問題

  2. 當輸入被提供至最後文本字段(自定義驗證) 和用戶點擊提交按鈕時,如果驗證失敗,我期待所有的三個文本字段拋出一個錯誤 - Ø/P:不幸的是,只有最後一個被觸發。

爲什麼required在自定義驗證彈出時未能引發錯誤?請分享你的想法。

更新:我剛剛注意到,一旦上次文本字段出現錯誤,並且如果再次單擊提交按鈕,則可以看到所有文本字段的錯誤。

+0

你可以在問題中包含'html','css','js'嗎? – guest271314

+1

你爲什麼不在最後一個字段中添加要求? –

+0

您是否在您的項目中包含jquery-1.10.0.min.js jquery.validate.min.js – Anbarasi

回答

0
$(function() { 
    $.validator.addMethod("validatePossibleYear", function(value, element) { 
     var currYear = new Date().getFullYear(); 
    $("#fName").blur(); $("#lName").blur(); 
     return !(value != "" && !(value == currYear || value == currYear - 1)); 
     }, 
    "Invalid Year. It should be either current year or previous year" 
); 
}); 
    $('#validateTest').validate({ 
    rules: { 
     pYear: { 
     required:true, 
     validatePossibleYear : true 
     } 
    }, 
    submitHandler: function(form) 
      { 
       form.submit(); 
      } 
    }); 
+0

謝謝@Shalini的迴應。然而,這裏要強調的兩件事是... – Sriram

+0

@sriram什麼2件事? – shalini

+0

感謝@Shalini的迴應。但正如我在文章中提到的,pYear不是必填字段。我看不到我期待的。 – Sriram