【问题标题】:jQuery form validation engine not working properly on equalsjQuery 表单验证引擎无法在 equals 上正常工作
【发布时间】:2013-04-08 03:18:58
【问题描述】:

我刚刚下载了 jQuery 插件表单验证引擎。到目前为止一切正常,直到我检查密码是否匹配。如果密码字段和确认密码字段都留空,则不会出现错误消息“字段不匹配”,这很好,因为它们匹配。但是当我在密码文本框中输入内容并在确认文本框中输入相同的密码时,错误消息会一直显示“字段不匹配”。

HTML:

<form id = "signup">
  <label>Password:</label>
  <input type = "password" name = "txtPassword" id = "txtPassword" class = "validate[required,minSize[6],maxSize[50]]"/>
  <label>Confirm Password:</label>
  <input type = "password" name = "txtCPassword" id = "txtCPassword" class = "validate[required,equals[txtPassword]]"/>
</form>

我的 JS 文件:

$(document).ready(function(){
    $("#signup").validateEngine();
});

在我的 HTML 文件中,我有指向验证 css 样式以及验证引擎和 en 语言的链接。

【问题讨论】:

  • 为我工作:jsfiddle.net/bWnjc/1 如果你在谈论 github.com/posabsolute/jQuery-Validation-Engine(看起来像这样)
  • @Shikiryu 这很奇怪。 >.> 它在我的本地服务器上不起作用。所以我把它上传到了一个测试服务器,它也在做同样的事情。我什至将密码字段更改为文本字段以确保它们相同。 www.vrbj.webs.com/scrapbook
  • 所以我在电子邮件/确认电子邮件上尝试了等号,这就像一个魅力。但是我一遍又一遍地阅读我的代码,无法解决密码问题。这真是令人沮丧。
  • 我发现了一些奇怪的东西。我没有使用第一个密码字段 txtPassword,而是将其更改为 txtpassword(全部小写)。出于某种原因,它有效。如果有人知道为什么会这样?我很想知道,谢谢!
  • 抱歉浪费大家的时间 :P 我发现我有两个相同 ID 的输入元素。一个在登录表单中,一个在注册表单中。这是我正在开发的第一个网站,登录和注册在同一页面上。

标签: jquery forms jquery-validation-engine


【解决方案1】:

我找到了我的问题的解决方案。出于某种原因,我必须输入具有相同 id 的元素,因此它没有采用我想要的输入字段的值。 :P 简单但危险的编程错误。如果其他人遇到此问题,请确保您的 id 是唯一的!!!

【讨论】:

  • 谢谢,我很高兴找到这篇文章 - 让我省了很多麻烦!
  • 我刚刚解决了我的问题,我有多个密码输入字段 - 一个用于登录,另一个用于注册。这是危险的情况,您不会发现任何可能导致此问题的错误。只需快速搜索故障字段的 id 就可以了;)
【解决方案2】:

你可以试试这个:

<form id = "signup">
  <label>Password:</label>
  <input type = "password" name = "txtPassword" id = "txtPassword" class = "validate[required,minSize[6],maxSize[50]]"/>
  <label>Confirm Password:</label>
  <input type = "password" name = "txtCPassword" id = "txtCPassword" class = "validate[required,equals[txtPassword]]"/>
</form>

$("#signup").validationEngine();

..确保您的 jQuery 是 validation 而不是 validate

【讨论】:

    【解决方案3】:

    如果你想检查确认密码验证,那么你可以使用

    <label>Password:</label>
    <input type="password" id="password" name="password"  class="validate[required]"/>
    
    <label>Confirm Password:</label>   
    <input type="password" id="confirm_password" name="confirm_password"  class="validate[required,equals[password]]"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 2012-11-18
      相关资源
      最近更新 更多