【发布时间】:2020-01-31 21:45:03
【问题描述】:
在将名称和密码发布到 mongodb 数据库之前验证名称和密码时,它显示了一些错误
const Validator = require('validator');
const isEmpty = require('./is-empty');
module.exports = function validateRegisterInput(data){
let errors = {};
data.name = !isEmpty(data.name) ? data.name : '';
data.email = !isEmpty(data.email) ? data.email : '';
data.password = !isEmpty(data.password) ? data.password : '';
data.password = !isEmpty(data.password2) ? data.password2 : '';
if((!Validator.isLength(data.name , { min:2, max:20 }))){
errors.name = 'Name must be between 2 and 20 characters';
}
if(Validator.isEmpty(data.name)){
errors.name ='Name field is required';
}
if(Validator.isEmpty(data.email)){
errors.email ='Email field is required';
}
if(Validator.isEmail(data.email)){
errors.email ='Email is invalid';
}
if(Validator.isEmpty(data.password)){
errors.password ='Password field is required';
}
if(Validator.isLength(data.password, {min:8 })){
errors.password ='Password field is required';
}
if(Validator.isEmpty(data.password2)){
errors.password2 ='Confirm Passwords field is required';
}
if(Validator.equals(data.password, data.password2)){
errors.password2 = 'Passwords must match';
}
return {
errors,
isValid: isEmpty(errors)
};
};
邮递员显示错误
TypeError: Expected string but received an undefined.
在 assertString (E:\MERN\devconnector\node_modules\validator\lib\util\assertString.js:28:11)
在 Object.isEmpty (E :\MERN\devconnector\node_modules\validator\lib\isEmpty.js:19:29)
在 validateRegisterInput (E:\MERN\devconnector\validation\register.js:38:18)
在 router.post (E:\MERN\devconnector\routes\api\users.js:27:33)
在 Layer.handle [as handle_request] (E:\MERN\devconnector\node_modules\express\lib\router\layer.js :95:5)
在下一个 (E:\MERN\devconnector\node_modules\express\lib\router\route.js:137:13)
在 Route.dispatch (E:\MERN\devconnector\node_modules \express\lib\router\route.js:112:3)
在 Layer.handle [as handle_request] (E:\MERN\devconnector\node_modules\express\lib\router\layer.js:95:5)
在 E:\MERN\devconnector\node_modules\express\lib\router\index.js:281:22
在 Function.process_params (E:\MERN\devconnector\node_modules\express\lib\router\index .js:335:12)
在下一个 (E:\MERN\devconnector\node_modules\express\lib\router\index.js:275:10)
在 Function.handle (E:\MERN\devconnector\node_modules\express\lib\router\index .js:174:3)
在路由器 (E:\MERN\devconnector\node_modules\express\lib\router\index.js:47:12)
在 Layer.handle [as handle_request] (E: \MERN\devconnector\node_modules\express\lib\router\layer.js:95:5)
在 trim_prefix (E:\MERN\devconnector\node_modules\express\lib\router\index.js:317:13)
在 E:\MERN\devconnector\node_modules\express\lib\router\index.js:284:7
【问题讨论】:
标签: reactjs mongodb validation mern