快速验证、自定义异步检查

2024-04-14

因此,我对此进行了大量研究,但遇到了一些问题。

router.post('/register', async (req, res) => {
const newUser = await usersDb();
// Define the user
const email = req.body.email;
const username = req.body.username;
const password = req.body.password;
const confirmPassword = req.body.confirmPassword;

// Start user already exist check
let userNameCheck = await newUser.findOne({ 'username': username});

req.check('email', 'Email is not valid.').isEmail()
  .custom(async value => {
    let emailCheck = await newUser.findOne({ 'email': value });
    console.log(emailCheck);
    console.log('Hmmm')
    if (emailCheck !== null) {
      return true;
    } else {
      return false;
    }
  }).withMessage('Email is already in use.');

//req.check('username', 'Username is required.').notEmpty();    
req.check('password', 'Password is required.').notEmpty();
req.check('confirmPassword', 'Confirm password is required.').notEmpty();

// Get errors
let errors = await req.validationErrors();
if (errors) {
   console.log(errors);
   res.render('index', {
    errors: errors
  });
} else {     
  console.log('Still bad');
}
});

我在电子邮件检查方面遇到问题。它似乎在大部分情况下都有效,但没有返回错误。我知道我正在使用同一封电子邮件,并且它正在正确地提取它。但验证不起作用。有任何想法吗?


好吧,这次我真的成功了:

req.check('email', 'Email is not valid.').isEmail()
  .custom(async value => {
    let emailCheck = await newUser.findOne({ 'email': value });
    if (emailCheck !== null) {
      console.log('User Exists');
      return Promise.reject();
    }
}).withMessage('Email is already in use.');

And:

// Get errors
const errors = await req.getValidationResult();
console.log(errors.mapped())
if (!errors.isEmpty()) {
   res.render('index', {
    errors: errors.mapped()
  });
} else {     
  console.log('Still bad');
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速验证、自定义异步检查 的相关文章

  • Node.JS async.parallel 不会等到所有任务完成

    我在用异步并行 https github com caolan async并行运行两个函数 这些函数请求 RSS 源 然后 RSS 提要被解析并添加到我的网页中 但由于某种原因async parallel运行回调方法而不等待两个函数完成 文
  • 限制 Axios 请求

    我正在使用 axios 向 Deezer API 发出请求 不幸的是 使用 Deezer 的 API 当您请求艺术家的专辑时 它不包括专辑曲目 因此 我正在通过请求艺术家的专辑 然后对每个专辑执行后续的 axios 请求来解决这个问题 我遇
  • NodeJs 环境变量与配置文件

    实际上 我有一个 NodeJS Express 应用程序 其配置文件包含主机 端口 JWT 令牌 数据库参数等参数 问题是 将这些参数直接保留在环境变量上 没有任何配置文件 并访问它们 而不需要在所有组件和模块中进行 require 配置是
  • 动态更改温斯顿的日志级别

    我尝试在运行时实现日志级别更改 我一直在关注https github com yannvr Winston dynamic loglevel blob master test https github com yannvr Winston
  • Node 不断恢复到旧版本

    每次我在控制台中重新启动 vagrant 时 它都会询问我的登录详细信息 然后说Now using node v7 10 0 npm v4 2 0 当我做run nvm install node I get v13 11 0 is alre
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • 使用 Socket.io 向多个房间发送消息?

    是否可以使用socket io向多个房间发送消息 发送至 1 个房间 io sockets in room emit id 发送到N个房间 io sockets in room1 room2 roomN emit id 是的 可以同时发送到
  • 简单 AJAX Get 请求“待处理”

    我正在尝试实现一个简单的 AJAX GET 请求 该请求告诉服务器删除数据库中的文档 虽然我从服务器得到文档已删除的确认 但 Chrome 检查器显示该请求处于 待处理 状态 最终导致服务器错误 我做错了什么 HTML div class
  • 警告:访问循环依赖内模块导出的不存在属性“MongoError”

    我正在使用节点执行 API 并使用 Mongoose 当我给一个yarn dev启动我的 Nodemon Mongo 出现错误 我不知道如何解决这个问题 有人有什么想法吗 我使用的是 MongoDB Atlas 数据库 就在出现以下错误之后
  • Node.js 中的 PHP exit()/die() 等价物是什么

    什么是 PHP die http www php net manual de function die php http www php net manual de function die php 在 Node js 中等效吗 https
  • 如何防止 gulp-notify 破坏 Windows 中的 gulp-watch?

    我正在使用吞咽通知 https www npmjs org package gulp notify插入 这是我如何在 gulpfile js 中实现它的示例 您可以看到我也在使用 gutil 和 livereload 我不知道它们是否发挥任
  • 当尝试将 formData 发送到 Express js 时,服务器无法识别 multipart/form-data

    我正在尝试将表单数据上传到快递服务器 在我的 Express js 服务器上 我有以下内容 router post uploads id function req res res send req body const title req
  • Nodejs - 检查隐藏文件

    我正在迭代文件目录 想知道是否可以测试文件是否隐藏 目前 我只是检查文件是否以 开头或不 这适用于 Mac 也许还有 Linux 但是 我想知道如何在 Windows 上做到这一点 另外 句点会在所有版本的 Linux 中隐藏该文件吗 Th
  • Node.js 未处理的“错误”事件

    我编写了一个简单的代码并将其保存在文件 try js 中 var http require http var makeRequest function message var options host localhost port 8080
  • Node.js - 重载函数

    有没有一种方法可以重载node js中的函数 类似于 noSuchMethod https developer mozilla org en JavaScript Reference Global Objects Object noSuch
  • 如何从此 AWS SecretsManager JSON 对象中提取字段?

    我正在使用 AWS Secrets Manager 来保护 REST API 的数据库信用 我正在使用 AWS Lambda API 网关和 RDS MySQL 以下是我如何获得它们 Load the AWS SDK var AWS req
  • Electron:我们可以使用其唯一的 id 来访问 BrowserWindow 吗?

    假设多次调用以下函数来创建 BrowserWindow 例如 5 次 let mainWindow function createWindow use strict mainWindow new BrowserWindow height h
  • Node js mongodb 删除错误“key $lte 不得以 '$' 开头”

    db collection session remove timestamp lte a function err docs console log err console log docs Version mongodb is 2 6 5
  • 下载 csv 文件 node.js

    我正在使用 node js 构建一个应用程序并尝试将数据下载为 csv 文件 我正在使用 json2csv https www npmjs com package json2csv https www npmjs com package j
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t

随机推荐

  • 如何控制 tkinter 组合框选择突出显示

    我写了一个小型法拉转换器来学习 GUI 编程 它效果很好 看起来不错 唯一的问题是我似乎不知道如何控制我的屏幕上出现的这种奇怪的突出显示ttk Combobox选择 我确实用过ttk Style 但它只改变了颜色ttk Combobox背景
  • 将环境变量传递给ant任务,不带ANT_OPTS

    我正在调用 Jasper ant 任务 并且我想设置org apache jasper compiler Parser STRICT QUOTE ESCAPING环境变量 我可以将 ANT OPTS 设置为 Dorg apache jasp
  • 自动释放或不自动释放

    在核心数据编程指南中的以下代码示例中 创建了 NSFetchRequest 使用 autorelease 而 NSSortDescriptor 不是使用 autorelease 创建的 为什么 NSSortDescriptor 不使用 au
  • 带或不带句柄的嵌套 classdef? [复制]

    这个问题在这里已经有答案了 我试图在 Matlab 中使用可更新的对象 类 和嵌套类 我观察到一种似乎是由于句柄状态引起的行为 我写了2个类testA and testB testB是一个调用该类的主类testA作为财产 classdef
  • 在 C++ 中对命令行参数进行排序

    我想对命令行参数数组进行排序 所有参数都是整数 这是我的代码 但它不起作用 include
  • 如何检测 Android 上的 SSL 固定

    我已经安装并配置了sslsplit并生成根证书 并将其添加到手机 Android 中 如何检测 SSL 固定 当您在移动设备和与之通信的服务器之间放置代理时 使用 SSL 证书固定或公钥固定的应用程序应该无法与服务器通信 因为它将接收 ss
  • 重写 has_many 关联 getter

    一个用户可以拥有多辆车 User has many cars Car belongs to user 每次我打电话 user cars它返回的列表cars按默认搜索顺序 如果我希望关联在某个任意字段上排序 我可以这样做 class User
  • Android 保存并从 Sqlite 数据库获取图像

    亲爱的 Android 如何保存图像并从我使用 Android Studio 的 Sqlite 数据库获取图像 可能为时已晚 但对未来的读者有用 import android content Context import android d
  • 删除 ionic 3 中的滑动手势

    我想创建一个离子删除滑动手势 但它似乎不起作用 This is my home page i called it myPage html
  • ASP.NET MVC - 值类型的自定义验证消息

    当我使用 UpdateModel 或 TryUpdateModel 时 MVC 框架足够智能 可以知道您是否尝试将 null 传递到值类型中 例如 用户忘记填写所需的生日字段 不幸的是 我不知道如何覆盖默认消息 需要一个值 在摘要中输入更有
  • 迄今为止的 Groovy 字符串

    我正在用 Groovy 编码 我目前正在尝试将我拥有的字符串转换为日期 而不必做任何过于繁琐的事情 String theDate 28 09 2010 16 02 43 def newdate new Date parse d M yyyy
  • 从 SHA256 解密

    我有将字符串加密为 sha256 并紧邻 base64 的代码 public static string Sha256encrypt string phrase UTF8Encoding encoder new UTF8Encoding S
  • 如何禁用可创建的反应选择组件?

    我不知道使用什么道具来禁用可创建的 React select 组件 它只是丢失了吗 我尝试了常规的 isDisabled 属性但没有成功
  • 查找两个数字之间素数个数的快速算法

    我的问题简化为找到两个给定数字之间的素数数量 我的范围可以大到1 to 1000 因此我需要一些数学优化 显然 在这种情况下 筛法会太慢 是否有任何可以应用的数学优化 例如 采用这个大空间的较小子集并对其余数字进行推断 P S 看起来我可能
  • 如何使用 PHP 检查 MySQL 表是否存在?

    理论上听起来很简单 我已经做了相当多的研究 但很难弄清楚这一点 如何检查 MySQL 表是否存在以及它是否执行某些操作 我想一个简单的 php if else 语句可以解决这个问题 有没有办法做到这一点 这就是我对 cwallenpoole
  • 使用 ICertAdmin2::RevokeCertificate 方法撤销 C# 中的证书

    如何将 certadm dll 导入托管项目并使用 RevokeCertificate 方法 我尝试将其添加为引用 但出现错误 因为它不是程序集或 COM 对象 有任何想法吗 UPDATE 我已经尝试过了regsvr32 c certadm
  • 使用 php 获取服务器内存

    有没有办法用 php 知道服务器 linux 发行版 中的可用内存 不使用 linux 命令 编辑 抱歉 目标是了解特定服务器的服务器 虚拟机中可用的内存 即使该内存是共享的 如果你知道这段代码只能在Linux下运行 你可以使用特殊的 pr
  • SBStatusBarController 实例

    有人可以帮我提供如何获取 SBStatusBarController 实例的小样本吗 我查看了很多论坛和源代码 但它对我不起作用 谢谢 好的 我已经找到了如何在没有 SpringBoard 的情况下使用合法手段显示双高状态栏 如通话中状态栏
  • 如何使用 php 从 json 键值中删除所有双引号?

    我得到了一个json数据 我想从 json 键中删除所有双引号 以便能够解析我想要的数据 如果任何键上没有双引号 我当前的代码运行良好 但一旦键上有双引号 那么我的代码就不会解析 json 数据 谁能告诉我如何解决这个问题 谢谢 code
  • 快速验证、自定义异步检查

    因此 我对此进行了大量研究 但遇到了一些问题 router post register async req res gt const newUser await usersDb Define the user const email req