【发布时间】:2018-05-19 16:43:47
【问题描述】:
晚上好,我目前只是想学习 Node 并创建一个小项目。我有一个问题,我似乎无法完全解决。我有一个包含路由的快速后端,这些路由在邮递员中工作正常,但是当通过 pug 模板合并时,表单中的细节似乎没有通过。 就好像 pug 模板没有从表单中收集属性,它通过验证错误发送“必须要求名字等”。这也是我第一次使用 PUG,所以任何帮助(或者可能是愚蠢的指针)将不胜感激。
对于路线:
//Register new user
router.post('/register', function(req,res,next){
user.create(req.body).then(function(user){
res.send(user); //new instance and save
}).catch(next);
});
对于 PUG 模板:
extends layout
block content
h1 Sign Up
form#addUser(name="adduser",action='api/register', method='POST')
label(for='firstName') First Name
input#users.firstName(type='text' placeholder='firstName' name='firstName')
div.form-group
label(for='lastName') Last Name
input#users.lastName(type='text' placeholder='lastName' name='lastName')
div.form-group
label(for='userName') UserName
input#users.userName(type='text' placeholder='userName' name='userName')
div.form-group
label(for='password') Password
input#users.password(type='password' placeholder='password' name='password')
div.form-group
label(for='email') Email
input#users.email(type='text' placeholder='email' name='email')
div.form-group
label(for='jobTitle') Job Title
input#users.jobTitle(type='text' placeholder='jobTitle' name='jobTitle')
button(type='submit', value='add') SignUp
用户模型:
const UserSchema = new Schema({
userName: {
type: String,
unique: true,
required:[true, "Username is required"]
},
password: {
type: String,
required: [true, "Password is required"]
},
email: {
type: String,
required: [true, "Email is required"]
},
firstName: {
type: String,
required:[true, "Name field is required"]
},
lastName: {
type: String,
required: [true, "Name field is required"]
},
jobTitle :{
type: String,
required: [true, "Position is required"]
}
});
const User = mongoose.model('users', UserSchema);
module.exports = User;
错误输出:
“用户验证失败:jobTitle:职位是必需的,lastName:名称字段是必需的,firstName:名称字段是必需的,email:电子邮件是必需的,密码:密码是必需的,userName:用户名是必需的”
【问题讨论】:
标签: pug