密码匹配验证不起作用(Express)

时间:2018-03-21 04:23:35

标签: javascript node.js express pug express-validator

我花了几个小时试图弄清楚发生了什么,但我找不到办法让它发挥作用。我正在使用哈巴狗,快递和快递验证员。

首先,我在 form.pug 文件中定义了输入:

div.form-group
  label(for='password') Password:
  input#password.form-control(type='password' name='password' placeholder='Password' required='true')

div.form-group
  label(for='password_conf') Password confirmation:
  input#password_conf.form-control(type='password' name='password_conf' placeholder='Password confirmation' required='true')

然后,我有一个名为 userController.js 的文件,它基本上与数据库交互。正如我之前所指出的,我正在使用express-validator来验证输入字段,所以我自然而然地编写了下面的代码来验证字段 password password_conf 是否相同如果密码的长度大于8:

    body('password_conf')
    .isLength({ min: 8 }).withMessage('The password must have at least 8 characters.')
    .equals(body('password')).withMessage('The passwords do not match.')

对我来说似乎是对的,但始终会触发错误“密码不匹配”。我验证了POST请求,字符串没有问题。我已经为一个虚拟字符串更改了 body('password')并且它有效,所以我真的不知道这里发生了什么。

如果这是一个愚蠢的问题,我真的很抱歉,我是网络开发的新手,我对调试知之甚少。

任何帮助将不胜感激:)

0 个答案:

没有答案