如何使用 jquery validate 验证 php md5 字符串

How to validate php md5 string with jquery validate

我有字符串 (md5 php),我想通过 jquery 验证和 md5 jquery 插件 https://github.com/placemarker/jQuery-MD5.

来验证它

Html代码

<input type="password" name="token" id="token">
<input type="hidden" name="hiddenToken" id="hiddenToken"> 

Jquery代码

var rules = rules:{
   token: {
      required : true,
      equalTo: "#hiddenToken"
      }
}

还有

$("#token").on("keyup", function(){
   var md5 = $.md5($(this).val());
})

当我在控制台记录时,这些字符串是相同的。 谁知道为什么 jquery validate 给我一个错误标记 invalid

我认为令牌字段的实际值(未散列)与 hiddenToken 字段的散列进行比较。所以很明显你会得到一个错误,因为它们肯定不一样。

您可以尝试将 keyup 后的代码更改为:

$("#token").on("keyup", function(){
    $(this).val($.md5($(this).val()));
})

可能它会起作用,但我无法测试它。

好的,感谢您的建议,但无法正常工作。我做了一些不同的事情。 我创建了另一个隐藏字段,只是改变了你的想法,现在一切都通过了验证。 validate_token 是 md5 的值 php string

html代码

<input type="password" name="token" id="token">
<input type="hidden" name="validate_token" id="validate_token"> 
<input type="hidden" name="hidden_token" id="hidden_token">

JS代码

var rules = rules: {
     'hidden_token': {
         required: true,
          equalTo: '#validate_token'
     }
 }


$("#token").on("keyup", function(){
    $("#hidden_token").val($.md5($(this).val()));
});