簡體   English   中英

jQuery表單驗證規則語法

[英]JQuery form validation rules syntax

我正在嘗試將jquery驗證與規則/消息集一起使用,但似乎無法使其正常工作。 相對於JQuery而言,這是一個相對較新的問題,如果這是一個基本問題,則表示歉意。 我正在嘗試使用document.forms [0]代替表單ID。 它與簡單驗證一起使用,其中字段具有class =“ required”,但如果我嘗試引入規則則不行。 任何幫助,不勝感激。 這是代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript" src="http://jzaefferer.github.com/jquery-        validation/jquery.validate.js"></script>
  <script>
  $(document).ready(function(){
    $(document.forms[0]).validate({
    rules: {
      cname: {
      required: true,
    }
    },
    messages: {
      cname: "Please enter a valid Name."
    },
  });
  });
  </script>

</head>
<body>


 <form class="cmxform" id="commentForm" method="get" action="">
 <fieldset>
   <legend>A simple comment form with submit validation and default messages</legend>
  <p>
     <label for="cname">Name</label>
     <em>*</em><input id="cname" name="name"/>
   </p>

   <p>
     <input class="submit" type="submit" value="Submit"/>
   </p>
 </fieldset>
 </form>
</body>
</html>

我想我會回答這個問題,因為我的評論是正確的。

嘗試將name屬性也設置為“ cname”。 驗證器查找name屬性。

首先,您可以通過其id #commentForm定位表單。 其次,問題的根本原因是您沒有通過input字段的id屬性來正確定向input字段。 但是, .validate()插件正在尋找name屬性,在您的情況下,該屬性也恰好是"name" 我在下面的示例中更改了name屬性的值,只是為了使其更加清楚。

jQuery的:

$(document).ready(function(){
    $('#commentForm').validate({
        rules: {
           username: {
               required: true
           }
        },
        messages: {
           username: "Please enter a valid Name."
        }
    });
});

HTML:

<form class="cmxform" id="commentForm" method="get" action="">

    <input type="text" id="cname" name="username" />

    ....

工作演示:

http://jsfiddle.net/egdEn/

有關更多信息,請參見在線文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM