【问题标题】:How to execute a validator using the jQuery validation plugin, if some condition is true如果某些条件为真,如何使用 jQuery 验证插件执行验证器
【发布时间】:2010-11-10 11:22:05
【问题描述】:

我需要根据单击的提交按钮来验证某些字段,并且我有以下代码,它运行良好。

(我知道已经有一个“大于 3”的方法,但我想检查您是否可以添加自定义方法)

<script type="text/javascript">

        var _btnClicked = "";

        $(document).ready(function() {

            $.validator.addMethod('custom', function(value, element, param) { if (param) { return value > 3 } return true; });

            $("#form1").validate({
                rules: {
                    input1: { required: function(element) { return _btnClicked == 'div1'; } },
                    input2: { custom: function(element) { return _btnClicked == 'div2'; } } },
                messages: {
                    input1: "Required",
                    input2: "Greater than three"
                }
            });
        });

    </script>

<form id="form1">    
          <div id="div1" class="div1">
            <input id="input1" name="input1" type="text" class="div1"/>
            <input id="btn1" name="btn1" type="submit" value="Form 1" class="div1" onclick="_btnClicked = 'div1'; if (!$('#form1').validate().form()) { return false; }" />
          </div>

          <div id="div2" class="div2">
            <input id="input2" name="input2" type="text" class="div2"/>
            <input id="input3" name="input3" type="text" class="div2"/>
            <input id="btn2" name="btn2" type="submit" value="Form 2" class="div2" onclick="_btnClicked = 'div2'; if (!$('#form1').validate().form()) { return false; }" />
          </div>
     </form>

我的问题是,如果我想将第三个输入框的最大长度限制为 3,我该怎么办?

我不能添加这条规则,因为它显然没有被传递值 3,所以它不知道最大长度是多少!

input3: { maxlength: function(element) { return _btnClicked == 'div2'; } }

有什么想法吗?

或者更好的方法来实现这一点!?

【问题讨论】:

  • maxlength: 3 有什么问题?
  • 我希望它只有在使用特定按钮提交表单时才会触发验证。

标签: jquery jquery-plugins jquery-validate


【解决方案1】:

定义一个忽略类(例如“.ignore”)并在用户单击“其他”按钮时将该类添加到这些元素中。

【讨论】:

    猜你喜欢
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 2017-07-18
    • 2021-01-04
    相关资源
    最近更新 更多