0

jQuery Validation の次の簡単なルールを作成しました。

        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();
            }
        }); 

ただし、1つのフィールドが複数のものと等しいことは許可されていないと言いたいです。

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

しかし、この構文と「ÖR」演算子を配置する他のいくつかの方法を試しましたが、どれも機能しません。誰でも助けることができますか?ありがとう。

4

1 に答える 1

1

jQuery Validationプラグインのカスタムメソッドの回答で説明されているように、JavaScript配列をパラメーターとして検証メソッドに渡すことができます。複数のパラメータ

例えば

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");
于 2012-11-27T22:15:15.643 に答える