Jquery没有验证我的表单


Jquery is not validating my form

我想使用 jquery 验证我的表单(字段"name1"是必填的,"电子邮件"也是必需的,并且应该采用电子邮件格式。我按照教程进行操作,但我无法让它工作。我该如何解决它?

提前谢谢你。

我的代码:

     <html>
        <head>
   <script src="/webvanta/js/jquery/1.4/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="/webvanta/js/jquery/1.4/plugins/form/jquery.form.js" type="text/javascript"></script>
<script src="/webvanta/js/jquery/1.4/plugins/validate/jquery.validate.min.js" type="text/javascript"></script>
        </head>
        <body>
        <script type="text/javascript">
          $(document).ready(function() {
           $("#myform").validate({
           rules: {
             name1: "required",
             email: {
               required: true,
               email: true
             }
           },
           messages: {
             name1: "Please specify your name",
             email: {
               required: "We need your email address to contact you",
               email: "Your email address must be in the format of name@domain.com"
             }
           }
        })
        });
        </script>
        <?php include 'header.php'; ?>
        <form id = "myform" action="picture.php" method="get">
        Picture name: <input name="name1" class="required"   /><br>
        Email: <input name="email" class="required"  />
        <input type="submit" value="Click" />
        </form>
        <br>


        </body>
        </html> 

一个非常简单的ajax示例:

   $("#submit").click( function() { 
    var str = $("#your-form").serialize();

    $.ajax({
      type: "POST",
      url: "url-to-your-file.php",
      data: str,
      success: function(msg) {
          if(msg=="1") {//let's say 1 means error, do stuff here}
          if(success=="0){//success, do stuff here}
          }
    });

    });

在您的 php 文件中检查并验证输入。如果没问题,则回显 0,否则回显 1 - 仅作为一个例子,在这里保持非常简单。

请务必尝试使用您使用的最新版本的库进行代码。旧库和旧插件可能包含大量错误并且不合规。

好吧,首先:我自己从未使用过这个函数,所以我不确定您提供的方法是否有效。但是,这不是jQuery文档中描述的方式。按照@Tim建议,首先切换到最新的jQuery版本,然后继续尝试以下文档页面中所述:

http://docs.jquery.com/Plugins/Validation#source

话虽如此,您仍然需要添加服务器端验证,所以我继续使用 ajax 和服务器端验证(来自 php 文件或类似文件)。然后,服务器端验证和客户端验证将具有相同的方法。但是,如果您没有使用数据库层,则服务器端验证可能会过度使用。