jQuery Validation插件 - 不必要的验证

时间:2014-05-04 09:16:16

标签: jquery jquery-validate

我正在使用jQuery Validation插件(v1.12.0)来验证HTML表单。 在表单上使用默认的validate()方法(没有任何规则)时,它会检查文本输入的最小值/最大值,并且由于输入值是字符串,因此返回以下消息:请输入值大于或等于0.

知道导致此行为的原因,以及如何阻止插件自动验证这些输入,以便它只根据rules对象中指定的内容进行验证?

以下是重现问题的代码:

<html>
<head>
        <title>Validation Test Page</title>

</head>
<body>

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery.validate.min.js"></script>

<div id="main_div">
        <div id="content_div">
                <h2 id="title">Validation Test Page</h2>
                <form id="new_customer_form" class="validate" action="generate.php" method="post" enctype="multipart/form-data">

                        Customer Name: <input id="inp_cust_name" class="tooltip" type="text"
                                name="inp_cust_name">

                        Title: <input id="inp_title" class="tooltip" type="text" name="inp_title"><br>

                        Custom text: <textarea id="inp_text" class="tooltip" name="inp_text" placeholder="Enter text here"></textarea><br>

                        Customer logo: <input id="inp_file" class="tooltip" type="file" name="inp_file"><br>

                        <div id="action_div_create">
                                <input id="inp_submit" type="submit" name="inp_submit" value="Submit">
                                <a href="./"><button type="button">Cancel</button></a>
                        </div>

                </form>
                <script>
                        $(document).ready(function() {
                                $("#new_customer_form").validate({
                                        rules: {
                                                inp_cust_name : {
                                                        required: true
                                                }
                                        }

                                });
                        });


                </script>

        </div>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

使用jQuery 1.3.2时会发生这种情况。当更改为jQuery 1.11.1时,问题就消失了。 这可能是一个错误或其他 - 如果你有任何有用的信息,请随时添加。