问题描述
我正在尝试使用 express-validator 的保释函数在先前的验证失败时返回验证链实例。但是,保释函数被标识为属于@jest/types 的保释函数。见下图:
"C:\Program Files\nodejs\node.exe" C:\dev\Home-Together-Canada\server\bin\www
C:\dev\Home-Together-Canada\server\controllers\validators\userControllerValidator.js:68
.exists().bail()
^
TypeError: body(...).exists(...).bail is not a function
at Object.<anonymous> (C:\dev\Home-Together-Canada\server\controllers\validators\userControllerValidator.js:68:19)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Module.require (node:internal/modules/cjs/loader:972:19)
at require (node:internal/modules/cjs/helpers:88:18)
at Object.<anonymous> (C:\dev\Home-Together-Canada\server\routes\businessRoutes.js:17:24)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Module.require (node:internal/modules/cjs/loader:972:19)
at require (node:internal/modules/cjs/helpers:88:18)
at Object.<anonymous> (C:\dev\Home-Together-Canada\server\app.js:11:24)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Module.require (node:internal/modules/cjs/loader:972:19)
at require (node:internal/modules/cjs/helpers:88:18)
at Object.<anonymous> (C:\dev\Home-Together-Canada\server\bin\www:7:11)
{
"name": "home-together-canada","version": "0.0.0","private": true,"scripts": {
"start": "node server/bin/www","test": "jest","dev": "concurrently \"set PORT=3001 && npm start\" \" cd client && npm start\"","heroku-postbuild": "cd client && npm install && npm run build"
},"dependencies": {
"@turf/boolean-overlap": "^6.3.0","@turf/boolean-point-in-polygon": "^6.3.0","@turf/boolean-within": "^6.3.0","@turf/circle": "^6.3.0","@turf/helpers": "^6.3.0","body-parser": "^1.19.0","cookie-parser": "~1.4.4","cors": "^2.8.5","debug": "~2.6.9","express": "~4.16.1","express-session": "^1.17.1","express-validator": "^5.3.1","hbs": "^4.1.1","http-errors": "~1.6.3","jest": "^26.6.0","json2csv": "^5.0.6","lodash": "^4.17.20","morgan": "~1.9.1","multer": "^1.4.2","MysqL2": "^2.2.5","neat-csv": "^6.0.1","node-geocoder": "^3.27.0","passport": "^0.4.1","passport-local": "^1.0.0","sequelize": "^6.3.5"
},"jest": {
"verbose": true,"collectCoverageFrom": [
"**/*.{js,jsx}","!**/node_modules/**","!**/*.test.js","!**/coverage/**","!**/serviceWorker.js","!**/index.js"
],"setupFiles": [
"<rootDir>/client/src/setupTests.js"
],"projects": [
{
"displayName": "server","testEnvironment": "node","testMatch": [
"<rootDir>/server/**/*.test.js"
]
},{
"displayName": "client","testEnvironment": "jsdom","testMatch": [
"<rootDir>/client/**/*.test.js"
],"modulefileExtensions": [
"js","json","jsx"
],"moduleNameMapper": {
"\\.(css|less)$": "identity-obj-proxy"
},"transform": {
"\\.(js|jsx)$": "babel-jest","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileTransformer.js"
}
}
]
},"devDependencies": {
"@babel/cli": "^7.12.1","@babel/preset-env": "^7.12.1","@babel/preset-react": "^7.12.1","@testing-library/jest-dom": "^5.11.5","concurrently": "^5.3.0","identity-obj-proxy": "^3.0.0"
}
}
我如何指示 express-validator 使用它自己的保释函数而不是 jest 的?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)