javascript - formvalidator.net 比较密码不起作用

标签 javascript jquery jquery-form-validator

我正在使用来自 FormValidator.netformValidator 我有一种情况需要验证密码比较密码 字段,根据插件,我们可以这样做。

<p>
  Password (at least 8 characters)
  <input name="pass_confirmation" data-validation="length" data-validation-length="min8"/>

  Confirm password
  <input name="pass" data-validation="confirmation"/>
</p>

因为我使用的是他们最新版本的插件,所以我也尝试了他们建议的最新版本 > 2.2.1,如下所示:

<p>
      Password (at least 8 characters)
      <input name="pass_confirmation" data-validation="length" data-validation-length="min8"/>

      Confirm password
      <input name="pass" data-validation="confirmation" data-validation-confirm="pass_confirmation"/>
</p>

但它仍然根本没有比较密码。尽管我可以说 password 的最小值比较是正常进行的。有人用过这个插件吗?还有其他方法吗?

$.validate({
  form: "#frmSample",
  validateOnBlur: true, // enable validation when input looses focus
  scrollToTopOnError: true, // Set this property to true if you have a long form
  borderColorOnError: "rgb(167, 3, 0)",
  borderColorOnSuccess: "#a94442",
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.2.43/jquery.form-validator.min.js"></script>
<form id="frmSample">
 <p>
  Password (at least 8 characters)
  <input name="pass_confirmation" data-validation="length" data-validation-length="min8">
  <br/>
  Confirm password
  <input name="pass" data-validation="confirmation">
</p>
</form>

最佳答案

您必须加载安全模块。

$.validate({options}) 更改为 $.validate({modules:'security', options})

在您的示例中,您的代码将如下所示:

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.2.43/jquery.form-validator.min.js"></script>
<form id="frmSample">
 <p>
  Password (at least 8 characters)
  <input name="pass_confirmation" data-validation="length" data-validation-length="min8">
  <br/>
  Confirm password
  <input name="pass" data-validation="confirmation">
</p>
</form>

JavaScript

$.validate({
  modules : 'security',
  form: "#frmSample",
  validateOnBlur: true, // enable validation when input looses focus
  scrollToTopOnError: true, // Set this property to true if you have a long form
  borderColorOnError: "rgb(167, 3, 0)",
  borderColorOnSuccess: "#a94442",
});

查看工作 fiddle


更新

您必须使用“安全”模块,因为表单验证器插件是使用单独的模块创建的,例如。 'location, file, swedish, uk' 并且您必须加载所需的模块。如果你想使用 'uk' 模块,你必须使用 modules:'uk' 等等。

关于javascript - formvalidator.net 比较密码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32338146/

相关文章:

javascript - 如何使用chart.js在水平条中设置标签左对齐?

jquery - CSS - 目标 3rd div 但跳过 Child Div

javascript - 寻找方法来检查包含某个单词的字符串

java - 如何将错误消息从servlet发送到jsp页面?

javascript - 剑道网格可编辑 false 不起作用

javascript - ReactJS 中的非阻塞渲染

javascript - 弹出窗口不等待响应关闭

javascript - 表单验证和所有后续代码不执行

javascript - Google Maps API V3,点击时打开信息窗口