快速易用 表单验证插件 jQuery Tiny Validate

  • 源码大小:132.8KB
  • 所需积分:1积分
  • 源码编号:19JP-3546
  • 浏览次数:761次
  • 最后更新:2023年06月25日
  • 所属栏目:表单
本站默认解压密码:19jp.com 或 19jp_com

简介

表单验证是用户体验的重要组成部分。如果你设计了一个表单,它看起来很好,但没有得到验证,那么肯定会有问题(或者不太正确)。

通常,给用户的错误消息可以帮助他们快速解决问题,并确保他们的信息按照您的要求结构化。它还确保用户在提交表单之前填写了所有必需的信息。

jQuery Tiny Validate插件包含了您需要了解的关于表单验证的所有信息,每个方法都有很多示例。让我们开始吧。

特征:

  • 重量轻、速度快。
  • 实时字段验证。
  • 支持AJAX表单。
  • 内联和摘要错误消息。
  • 10+内置验证规则。
  • 通过Regex轻松添加您自己的规则。

如何使用它:

1.在文档中插入主要的JavaScript和规则。

  1. <!-- jQuery is required -->
  2. <script src="/path/to/cdn/jquery.min.js"></script>
  3.  
  4. <!-- Core JavaScript -->
  5. <script src="src/jquery.tinyvalidate.js"></script>
  6.  
  7. <!-- Rules -->
  8. <script src="src/jquery.tinyvalidate.rules.js"></script>

2.使用CSS类将验证规则添加到表单字段,如下所示:

  • 必修的
  • 电子邮件
  • url
  • 拉链
  • 日期
  • 电话
  • ssn(序列号)
  • 通货
  • 选择一个
  • 最大值
  • 等于
  1. <form class="example" action="" method="post">
  2. <fieldset>
  3. <legend>Project Information</legend>
  4. <div class="text">
  5. <label for="project-name">Project Name: *</label>
  6. <input type="text" pattern="\w+" required id="project-name" />
  7. </div>
  8. <div class="text">
  9. <label for="project-bud">Budget:</label>
  10. <input class="currency" size="8" type="text" id="project-bud" />
  11. <span class="unit">US Dollars</span>
  12. </div>
  13. <div class="text">
  14. <label for="project-zip">Zip Code: *</label>
  15. <input class="required zip" type="text" id="project-zip" />
  16. </div>
  17. <div class="dropdown">
  18. <label for="project-type">Project Type:</label>
  19. <select id="project-type" name="project-type">
  20. <option value="good">good</option>
  21. <option value="bad">bad</option>
  22. <option value="ugly">ugly</option>
  23. </select>
  24. </div>
  25. <fieldset class="radio choose-one">
  26. <legend>Size of Project</legend>
  27. <div>
  28. <input type="radio" name="size" id="twenty" value="1" />
  29. <label for="twenty">20 People</label>
  30. </div>
  31. <div>
  32. <input type="radio" name="size" id="more" value="2" />
  33. <label for="more">More than 20 People</label>
  34. </div>
  35. </fieldset>
  36. <div class="textarea">
  37. <label for="project-desc">Project Description</label>
  38. <textarea rows="4" cols="50" id="project-desc"></textarea>
  39. </div>
  40. </fieldset>
  41. <fieldset class="max max-2">
  42. <legend>I am a... </legend>
  43. <div>(choose no more than two)</div>
  44. <div class="checkbox">
  45. <input type="checkbox" name="i-am" id="driver" value="1" />
  46. <label for="driver">Licensed Driver</label>
  47. </div>
  48. <div class="checkbox">
  49. <input type="checkbox" name="i-am" id="timebomb" value="2" />
  50. <label for="timebomb">Walking Timebomb</label>
  51. </div>
  52. <div class="checkbox">
  53. <input type="checkbox" name="i-am" id="fiscal" value="3" />
  54. <label for="fiscal">Fiscal Nightmare</label>
  55. </div>
  56. </fieldset>
  57. <fieldset class="actions">
  58. <input name="submitfoo" class="submit" type="submit" value="Submit Form" />
  59. <a class="cancel" href="#">Cancel</a>
  60. </fieldset>
  61. </form>

3.调用表单元素上的Tiny Validate,插件将完成其余操作。

  1. $('form.example').tinyvalidate({
  2. // options here
  3. });

4.如您在jquery.tinyvalidate.rules.js查询.

  1. $.tinyvalidate.rules.phone = {
  2. ruleClass: 'phone',
  3. rule: function(r) {
  4. return (/\(?\d{3}\)?[\. -]?\d{3}[\. -]?\d{4}/).test(r) || r === '';
  5. },
  6. text: 'Invalid Format ',
  7. check: 'value'
  8. };

5.自定义表单验证器的可用选项。

  1. $('form.example').tinyvalidate({
  2.  
  3. // determine whether to ignore disabled fields
  4. ignoreDisabled: true,
  5.  
  6. // determine whether to ignore hidden fields
  7. ignoreHidden: true,
  8.  
  9. // determine whether to use Regex defined in the pattern attribute
  10. usePattern: false,
  11.  
  12. // other events to trigger the form validation
  13. otherEvents: 'blur',
  14.  
  15. // called when one of the events is triggered.
  16. onEvents: $.noop,
  17.  
  18. // called if an error occurs when submitting
  19. submitError: function(errorCount) {},
  20.  
  21. // override the naive submit event
  22. // function() { /* do something */ }
  23. submitOverride: null
  24.  
  25. });

6.自定义内联错误消息。

  1. $.fn.tinyvalidate.defaults.inline = {
  2. insertType: 'after',
  3. insertTo: null,
  4. errorElement: '<div class="error-message"></div>',
  5. errorAnimate: {
  6. effect: 'fadeIn',
  7. speed: 400
  8. },
  9. containerTag: 'div',
  10. containerErrorClass: 'error'
  11. };

7.自定义错误消息摘要。

  1. $.fn.tinyvalidate.defaults.summary = {
  2. insertTo: 'form',
  3. insertType: 'append',
  4. wrapper: '<div class="error-summary"></div>',
  5. preMessage: 'Please review the {num} highlighted {field|fields} and try again.<ul>',
  6. postMessage: '</ul>',
  7. messageAnimate: {
  8. effect: 'fadeIn',
  9. speed: 400
  10. },
  11. // set to null if you don't want to include details in the summary message:
  12. lineItems: {
  13. wrapper: '<li></li>',
  14. errorElement: '<span class="error-message"></span>',
  15. // create link in summary details to inputs with errors
  16. linkify: true
  17. }
  18. };

8.清除所有错误。

  1. $("form.example").tinyvalidate('removeErrors');

9.销毁插件。

  1. $("form.example").tinyvalidate('destroy');

预览截图