jquery与验证插件无法正常工作

时间:2014-08-04 15:02:24

标签: jquery css twitter-bootstrap

在花了好几个小时试图解决一个看似简单的问题(走过stackoverflow问题......)之后,我再次被迫转向stackoverflow并提交我的问题...我有一个非常基本的形式只有两个控件:文本输入和提交底部。我试图让jquery验证插件工作。这是我的代码:

 <html xmlns="http://www.w3.org/1999/xhtml">
 <head runat="server">
 <title></title>

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js" ></script>
<script src="jquery.validate.js"></script>

<script>

    $(function () {

        $('#frm').validate({

            rules: {
                txtInput: {
                    required:"Reuired"
                }
            },
            messages:{
                txtInput:"Please enter your first name"
            }
        });

    });

</script>

</head>
<body>
    <form id="frm" name="frm" method="post">
        <div>
            <input id="txtInput" type="text" placeholder="Name" />
        </div>
        <br />    
        <input id="btn" type="submit" class="btn btn-danger" value="Submit" />
    </form>    

    </body>
    </html>

jquery.validate.js是版本1.11.1

我的理解是,如果我提交带有空白文本输入的表单,我必须收到“请输入您的名字”的消息。但没有任何反应,表格正常提交。 我无法弄清楚我做错了什么。案件很简单。提前感谢您提供给我的任何帮助和/或指示。

3 个答案:

答案 0 :(得分:1)

请你试试这个:

 <input id="txtInput" type="text" placeholder="Name"  name="txtInput"/>

请注意,我已将name属性添加到input,并将required规则更新为true:

rules: {
   txtInput: {
      required: true
   }
}

DEMO

答案 1 :(得分:0)

查看文档后,您没有正确使用所需的方法,要求使用true或false,或者可以将其用作#agree:checked等表达式。 Validate Docs @Vikram - 正确,名称属性是它正在寻找的。

$(function () {

    $('#frm').validate({

        rules: {
            txtInput: {
                required: true
            }
        },
        messages:{
            txtInput:"Please enter your first name"
        }
    });

});

答案 2 :(得分:0)

请参阅Demo

$(function () {               
 $('#frm').validate({

        rules: {
            txtInput: {
                required:true
            }
        },
        messages:{
            txtInput:"Please enter your first name"
        }
    });

});