【问题标题】:Api Validation FailedAPI 验证失败
【发布时间】:2021-05-01 02:15:04
【问题描述】:

当我尝试验证用户时,它不起作用。“验证注册输入”不能帮助我验证用户。 Postman 的有效负载和输出为:

另外,当我尝试时

console.log(req.body);

在 post 请求中,输出为:

这是我的完整代码链接:https://codesandbox.io/s/github/naima-shk/Twitter-Clone

【问题讨论】:

    标签: node.js api postman backend


    【解决方案1】:

    您没有在电子邮件参数中传递正确的值,因此它当然会引发验证错误。像 abc@gmail.com 那样做

    【讨论】:

      【解决方案2】:

      我检查了您的代码,您的验证逻辑中似乎存在逻辑错误,您在其中应用isEmpty

       if(!Validator.isEmpty(data.handle)){
              errors.handle ="Handle field is required";
       }
       if(!Validator.isEmpty(data.email)){
             errors.email ="Email field is required";
       }
      

      应该是相反的(请注意,其他字段也有这个错误,所以也要检查这些):

       if(Validator.isEmpty(data.handle)){
              errors.handle ="Handle field is required";
       }
       if(Validator.isEmpty(data.email)){
             errors.email ="Email field is required";
       }
      

      【讨论】:

      • 感谢您提及我的错误。但遗憾的是,在纠正了这些错误之后,它仍然抛出与以前相同的错误。 :(
      • 我已经检查了 repo 并修复了验证器错误,它在我的本地机器上运行良好 - 你可以编辑问题并添加更新的代码吗?这是我的代码版本:codesandbox.io/s/intelligent-moore-fyzq5
      • 您是否尝试通过在 app.js 中注释这行代码来运行它 ``` const newUser = new User({ handle: 'nimi', email: 'nimi@nimi.nim' , 密码: 'nim123' });用户.save(); ```
      • 是的,我注释掉了所有与数据库相关的代码来测试验证。
      • 有什么反馈吗?如果它仍然不适合你,我可以创建一个 PR ..
      猜你喜欢
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 2022-10-19
      • 2016-05-19
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多