Bootstrap 全功能表单验证程序 jQuery bsValidate

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

简介

bsValidate是一个轻量级但功能丰富的jQuery表单验证插件,适用于Bootstrap 5和Bootstrap 4框架。

通过HTML很容易实现表单字段的验证规则数据属性,没有任何JS调用。请随时下载并在您的下一个Bootstrap项目中使用它,以确保您的用户提交的信息是有效的。

参见:

  • 10个最佳表单验证JavaScript插件

如何使用它:

1.要开始,请确保已加载最新的jQuery库和Bootstrap 5框架。

  1. <link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />
  2. <script src="/path/to/cdn/jquery.min.js"></script>
  3. <script src="/path/to/cdn/bootstrap.bundle.min.js"></script>

2.下载插件并加载jquery.bs验证.jsjQuery之后的脚本。

  1. <script src="jquery.bsValidate.js"></script>

3.添加所需内容bs验证类,并使用以下HTML配置验证规则数据属性:

  • 数据字母数字助手(布尔值)
  • 数据自动修剪(布尔值)
  • 数据电子邮件域助手(布尔值)
  • 数据助手类(字符串)
  • 数据提示(字符串)
  • 数据提示类(字符串)
  • 焦点上的数据提示(布尔值)
  • 数据最大长度辅助对象(布尔值)
  • 模糊数据(字符串)
  • 聚焦数据(字符串)
  • 输入数据(字符串)
  • 重置时的数据(字符串)
  • 提交时的数据(字符串)
  • 有效数据(字符串)
  • 有效反跳数据(数字)
  • 数据模式不匹配错误消息(字符串)
  • 数据微调器类(字符串)
  1. <form id="addUser" autocomplete="off" action="" novalidate>
  2. <fieldset>
  3. <div class="form-group row">
  4. <label for="firstName" class="col-2 col-form-label">First Name</label>
  5. <div class="col">
  6. <input type="text" class="form-control bs-validate" name="firstName" id="firstName" minlength="2"
  7. maxlength="40" data-hint="2 to 40 charcters required" data-hint-on-focus="true"
  8. data-on-input="outputValueToConsole" data-on-valid="onValid.spinner" data-spinner-class="text-info"
  9. data-max-length-helper="true" required />
  10. </div>
  11. </div>
  12. <div class="form-group row">
  13. <label for="lastName" class="col-2 col-form-label">Last Name</label>
  14. <div class="col">
  15. <input type="text" class="form-control bs-validate" name="lastName" id="lastName" minlength="2"
  16. maxlength="40" data-hint="2 to 40 charcters required" data-alphanumeric-helper="true"
  17. data-max-length-helper="true" required />
  18. </div>
  19. </div>
  20. <div class="form-group row">
  21. <label for="email" class="col-2 col-form-label">Email</label>
  22. <div class="col">
  23. <input type="email" class="form-control bs-validate" name="email" id="email"
  24. data-email-domain-helper="true" required />
  25. </div>
  26. </div>
  27. <div class="form-group row">
  28. <label for="issue_date" class="col-2 col-form-label">Issue Date</label>
  29. <div class="col">
  30. <input type="date" class="form-control bs-validate" name="issue_date" id="issue_date" min="1900-01-01"
  31. max="2099-12-31" required />
  32. </div>
  33. </div>
  34. <div class="form-group row">
  35. <label for="age" class="col-2 col-form-label">Age</label>
  36. <div class="col">
  37. <input type="number" class="form-control bs-validate" name="age" id="age" min="18" max="65" step="1"
  38. data-hint="Enter a number between 18 to 65 in steps of 1" required />
  39. </div>
  40. </div>
  41. <div class="form-group row">
  42. <label for="education" class="col-2 col-form-label">Education</label>
  43. <div class="col">
  44. <select class="custom-select bs-validate" name="education" id="education" required>
  45. <option></option>
  46. <option value="1">High School</option>
  47. <option value="2">College</option>
  48. <option value="3">Graduate</option>
  49. </select>
  50. </div>
  51. </div>
  52. <div class="form-group row">
  53. <legend class="col-form-label col-2">Terms</legend>
  54. <div class="col col-form-label">
  55. <div class="custom-control custom-checkbox">
  56. <input class="custom-control-input bs-validate" type="checkbox" name="terms" id="terms" value="1"
  57. required>
  58. <label class="custom-control-label" for="terms">Agree</label>
  59. </div>
  60. </div>
  61. </div>
  62. <div class="form-group row">
  63. <legend class="col-form-label col-2">Conditions</legend>
  64. <div class="col col-form-label">
  65. <div class="form-check form-check-inline">
  66. <input class="form-check-input bs-validate" type="checkbox" name="conditions" id="conditions"
  67. value="1" required>
  68. <label class="form-check-label" for="conditions">Agree</label>
  69. </div>
  70. </div>
  71. </div>
  72. <div class="form-group row">
  73. <legend class="col-form-label col-2">Tier</legend>
  74. <div class="col col-form-label">
  75. <div class="form-check">
  76. <input class="form-check-input bs-validate" type="radio" name="tier" id="tier_1" value="1" required>
  77. <label class="form-check-label" for="tier_1">
  78. Gold
  79. </label>
  80. </div>
  81. <div class="form-check">
  82. <input class="form-check-input bs-validate" type="radio" name="tier" id="tier_2" value="2" required>
  83. <label class="form-check-label" for="tier_2">
  84. Platinum
  85. </label>
  86. </div>
  87. </div>
  88. </div>
  89. <div class="form-group row">
  90. <legend class="col-form-label col-2">Reward</legend>
  91. <div class="col col-form-label">
  92. <div class="custom-control custom-radio custom-control-inline">
  93. <input class="custom-control-input bs-validate" type="radio" name="reward" id="reward_1" value="1"
  94. required>
  95. <label class="custom-control-label" for="reward_1">
  96. Points
  97. </label>
  98. </div>
  99. <div class="custom-control custom-radio custom-control-inline">
  100. <input class="custom-control-input bs-validate" type="radio" name="reward" id="reward_2" value="2"
  101. required>
  102. <label class="custom-control-label" for="reward_2">
  103. Miles
  104. </label>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="form-group row">
  109. <label for="group" class="col-2 col-form-label">Group</label>
  110. <div class="col">
  111. <div class="input-group">
  112. <input type="text" class="form-control bs-validate" id="group" minlength="2" maxlength="40"
  113. data-hint="2 to 40 charcters required" data-max-length-helper="true" data-on-valid="onValid.spinner"
  114. required>
  115. <span class="input-group-text" id="basic-addon2">@jQueryScript.Net</span>
  116. </div>
  117. </div>
  118. </div>
  119. <div class="from-group row mb-4">
  120. <label for="comments" class="col-2 col-form-label">Comments</label>
  121. <div class="col">
  122. <textarea class="form-control bs-validate" name="comments" id="comments" rows="5"
  123. data-on-input="outputValueToConsole" required></textarea>
  124. </div>
  125. </div>
  126. <div class="form-row">
  127. <div class="col-12 text-right">
  128. <button type="submit" class="btn btn-primary">Create</button>
  129. <button type="reset" class="btn btn-outline-danger">Reset</button>
  130. </div>
  131. </div>
  132. </fieldset>
  133. </form>

3.您还可以使用JavaScript自定义验证规则。所有默认选项:

  1. $.fn.bsValidate.defaults = {
  2. alphanumericHelper: false,
  3. autoTrim: true,
  4. emailDomainHelper: false,
  5. helperClass: "text-info",
  6. hint: "",
  7. hintClass: "text-muted",
  8. hintOnFocus: false,
  9. maxLengthHelper: false,
  10. // callbacks
  11. onBlur: null,
  12. onFocus: null,
  13. onInput: null,
  14. onReset: null,
  15. onSubmit: null,
  16. onValid: null,
  17. onValidDebounce: 700,
  18. patternMismatchErrorMessage: "",
  19. spinnerClass: "text-primary",
  20. };

预览截图