簡體   English   中英

jQuery驗證。 將JavaScript邏輯(OR)應用於自定義規則

[英]jQuery Validation. Applying javascript logic (OR) to a custom rule

我為jQuery驗證編寫了以下簡單規則:

        jQuery.validator.addMethod("notEqual", function(value, element, param) 
        {
          return this.optional(element) || value != param;
        }, "This field is required");

這樣工作,我可以說:

        $("#form").validate({
                rules: 
                {
                    field1: {notEqual: "Please Select", required: true},
                    field2: {notEqual: "Year", required: true}
                },
                messages: 
                {
                    field1: {
                            notEqual: "This field is required", 
                            required: "This field is required"
                            }
                    field2: {
                            notEqual: "This field is required", 
                            required: "This field is required"
                            }
                },

                submitHandler: function(form) {
                form.submit();
            }
        }); 

但是我想能夠說,不允許任何一個字段等於多個事物,例如

field1: {notEqual: "Please Select" || "Year" || "Some Value", required: true},

但是我嘗試了這種語法以及其他一些安排“ÖR”運算符的方法,但它們都不起作用。 有人可以幫忙嗎? 謝謝。

您可以將JavaScript數組作為參數傳遞給驗證方法,如jQuery Validation插件自定義方法的答案所述 多個參數

例如

field1: {notEqual: ["Please Select", "Year", "Some Value"], required: true},

然后讓您的自定義方法是這樣的

 jQuery.validator.addMethod("notEqual", function(value, element, param) 
 {
  var result = value != param[0] && value != param[1] && value != param[2]; 
  return this.optional(element) || result;
 }, "This field is required");

暫無
暫無

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

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