当前位置:Gxlcms > JavaScript > jQuery插件Validation快速完成表单验证的方式

jQuery插件Validation快速完成表单验证的方式

时间:2021-07-01 10:21:17 帮助过:25人阅读

JQuery的Validation插件可以到http://plugins.jquery.com/上去下载。今天来分享一下,关于这个插件的使用。

简易使用

这第一种方式可谓是傻瓜式的使用,我们只需要按照validation定义好的规则就可以了。
 •首先引入JQuery库和Validation插件: 
<script type="text/javascript" src="jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="jquery.validate.min.js"></script>
 •然后是打开验证开关: 

  1. $(function(){
  2. $("#form_id").validate();
  3. });
  4. // 或者
  5. $(document).ready(function(){
  6. $("#form_id").validate();
  7. });

 •validation的build_in验证规则有:
◦class = “required”: 表明表单中该字段为必选的
 ◦class = "required email" 表明在表单中该字段为必须存在的,而且是符合email的规范格式
 ◦class = "url"表明在表单中该字段需要满足url的匹配模式
 ◦minlength = "6" 表明在表单中该字段的长度最小为6位

 案例展示:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Validation for form demo</title>
  6. <script type="text/javascript" src="jquery-2.2.4.min.js"></script>
  7. <script type="text/javascript" src="jquery.validate.min.js"></script>
  8. <style>
  9. em {
  10. font-weight: bold;
  11. vertical-align: top;
  12. color: red;
  13. float: right;
  14. }
  15. label {
  16. width:10em;
  17. padding: 7px;
  18. }
  19. .container {
  20. width: 370px;
  21. height: auto;
  22. background-color: silver;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <div align="center" class="container">
  28. <form id="vform" method="post" action="#">
  29. <fieldset>
  30. <legend>使用JQuery插件validation来实现表单验证</legend>
  31. <p>
  32. <label for="username">姓名:</label>
  33. <input id="username" name="username" class="required" minlength="2"> <em>*</em>
  34. </p>
  35. <p>
  36. <label for="email">邮件:</label>
  37. <input id="email" name="email" class="required email" > <em>*</em>
  38. </p>
  39. <p>
  40. <label for="url">网址:</label>
  41. <input id="url" name="url" class="url" ></p>
  42. <p>
  43. <label for="comment">评论:</label>
  44. <textarea id="comment" name="comment" class="required"></textarea>
  45. <em>*</em>
  46. </p>
  47. <p><input type="submit" name="submit"></p>
  48. </fieldset>
  49. </form>
  50. </div>
  51. <script>
  52. // $(function(){
  53. // $("#vform").validation();
  54. // });
  55. $(document).ready(function(){
  56. $("#vform").validate();
  57. });
  58. </script>
  59. </body>
  60. </html>

验证规则全写到Class中

和简易使用不同的是,这种方式使用pure的class来进行控制。但是我们需要引入一个新的插件jquery.metadate.js。实现的功能就是帮助用户将所有的与验证数据相关的信息写到class属性中,方便管理。

我们可以通过以下几步来实现这一需求。
 •引入一个新的插件jquery.metadata.js 
<script src="jquery.metadata.js"></script>
 •改变调用验证表单的开关: 

  1. $(function(){
  2. $("#form_id").validate();//去掉这行代码,修改成下面的
  3. $("#form_id").validate({meta:"validate"});
  4. });

 •将验证信息写到class属性中。详见下面的代码。

  1. <div align="center" class="container">
  2. <form id="vform" method="post" action="#">
  3. <fieldset>
  4. <legend>使用JQuery插件validation来实现表单验证</legend>
  5. <p>
  6. <label for="username">姓名:</label>
  7. <input id="username" name="username" class="{validate: { required : true, minlength : 2 }}" > <em>*</em>
  8. </p>
  9. <p>
  10. <label for="email">邮件:</label>
  11. <input id="email" name="email" class="{validate: { required :true,email :true}}" > <em>*</em>
  12. </p>
  13. <p>
  14. <label for="url">网址:</label>
  15. <input id="url" name="url" class="{validate: {url :true}}" ></p>
  16. <p>
  17. <label for="comment">评论:</label>
  18. <textarea id="comment" name="comment" class="{validate: {required :true}}"></textarea>
  19. <em>*</em>
  20. </p>
  21. <p><input type="submit" name="submit"></p>
  22. </fieldset>
  23. </form>
  24. </div>

注意: Validate写在class属性的时候,记得要将验证规则使用空格分隔开来。 否则代码不会正常的运行!

还有就是$("#vform").validate({meta:"validate"});中validate这个单词不能随意的更改,否则也是不会生效的。 

通过name属性构建验证规则

下面介绍一种与HTML元素的属性无直接关联,而是通过name属性来关联字段和验证规则的验证写法。

优点: 可以实现行为与结构的分离,便与调试和维护代码;
 •表单代码,去除所有的class验证。当然这并不是说我们不可以给字段添加样式咯。 

  1. <div align="center" class="container">
  2. <form id="vform" method="post" action="#">
  3. <fieldset>
  4. <legend>使用JQuery插件validation来实现表单验证</legend>
  5. <p>
  6. <label for="username">姓名:</label>
  7. <input id="username" name="username" > <em>*</em>
  8. </p>
  9. <p>
  10. <label for="email">邮件:</label>
  11. <input id="email" name="email" > <em>*</em>
  12. </p>
  13. <p>
  14. <label for="url">网址:</label>
  15. <input id="url" name="url" ></p>
  16. <p>
  17. <label for="comment">评论:</label>
  18. <textarea id="comment" name="comment" ></textarea>
  19. <em>*</em>
  20. </p>
  21. <p><input type="submit" name="submit"></p>
  22. </fieldset>
  23. </form>
  24. </div>

 •JQuery代码如下: 

  1. <script>
  2. // $(function(){
  3. // $("#vform").validation();
  4. // });
  5. $(function(){
  6. $("#vform").validate({
  7. rules:{
  8. username: {
  9. required: true,
  10. minlength: 6
  11. },
  12. email: {
  13. required: true,
  14. email: true
  15. },
  16. url: "url",
  17. comment: "required"
  18. }
  19. });
  20. });
  21. </script>

 •注意:使用空格分隔验证字段 

以上就是关于JQuery插件Validation的基础使用了。

国际化之中文化
 •首先引入一个中文的信息验证库,这个我们可以在下载好的validation的lib包下找到。 
<script src="messages_zh.js"></script>
 •第二步就是在验证规则处添加message字段,然后输入自定义的中文信息。如下:

  1. <script>
  2. // $(function(){
  3. // $("#vform").validation();
  4. // });
  5. $(function(){
  6. $("#vform").validate({
  7. rules:{
  8. username: {
  9. required: true,
  10. minlength: 6,
  11. messages: {
  12. required: '请输入姓名',
  13. minlength: '请至少输入6个字符'
  14. }
  15. },
  16. email: {
  17. required: true,
  18. email: true,
  19. messages: {
  20. required: '请输入邮箱',
  21. email: '请检查您的邮箱格式!'
  22. }
  23. },
  24. url: {
  25. url: true,
  26. messages: {
  27. url: '请检查网址的格式!'
  28. }
  29. },
  30. comment: {
  31. required: true,
  32. messages: {
  33. required: '请输入评论!',
  34. }
  35. }
  36. }
  37. });
  38. });
  39. </script>

不知道怎么回事,我这段代码没有显示中文提示,大家发现了错误在哪里了吗?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

人气教程排行