簡體   English   中英

改善我的jquery驗證插件代碼

[英]improve my jquery validation plugin code

只是希望soemone比我自己想出的更好,可以幫助我編寫更好的代碼。

我正在使用jquery驗證插件。 我只有在選擇了某些選項的情況下才是必填字段。

下面的代碼工作正常。 但問題是,我的“ OR”列表比我在此處輸入的列表長得多。 並且不僅需要將其應用於“ directorName”,還需要將其用於輸入,選擇等的完整列表。

我的問題是..我怎樣包裝RETURN內包含的代碼? (因此我不必繼續重復“ OR”。我猜想我需要一個函數,但不確定語法)

$("#myForm").validate({
 rules: {
  directorsName : { 
   required: function(element) {
   return ( $('#account_for').val() == "Joint" || $('#directors_number').val() == "2" || $('#directors_number').val() == "3" );
   }
  }
 }
});

提前致謝

這是自定義驗證器的代碼段。 您可以將這種語法應用於自己的自定義驗證需求。

$.validator.addMethod("noanon", function(value) {
          return value.toLowerCase().indexOf("anonymous") != 0;
      }, 'Do not hide behind the cover of anonymity')

然后,您可以像使用任何內置驗證規則一樣使用它:

name: {
       required: true,
       minlength: 2,
       noanon: true
  },

如果您還沒有閱讀過,我建議您在ColdFusion Jedi上閱讀該代碼來自3部分的博客。

您可以執行此操作,跨瀏覽器使用$.inArray()支持此操作:

$("#myForm").validate({
 rules: {
  directorsName : { 
   required: function(element) {
     return $('#account_for').val() == "Joint" || 
            $.inArray($('#directors_number').val(), ['2','3']);
   }
  }
 }
});
list = ['1', '2', '3', '...'];
return $('#account_for').val() == "Joint" || list.indexOf($('#directors_number').val()) != -1;

暫無
暫無

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

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