Guten Abend, ich bin derzeit einfach auf der Suche nach Node und ein kleines Projekt zu erstellen. Ich habe ein Problem, das ich nicht ganz lösen kann. Ich habe ein Express-Backend, das Routen enthält, diese Routen funktionieren gut im Postboten, aber wenn sie über die Mops-Vorlage eingefügt werden, scheinen die Details aus dem Formular nicht durchzugehen. Es ist so, als würde die Mops-Vorlage die Attribute nicht aus dem Formular sammeln, und sie sendet über den Validierungsfehler 'Muss Vornamen usw. benötigen'. Dies ist auch das erste Mal, dass ich PUG benutze, daher würde jede Hilfe (oder vielleicht ein Hinweis auf Dummheit) sehr geschätzt werden.Mops Vorlagen mit Node Express - Probleme mit POST
Für Routen:
//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);
});
Für PUG Vorlage:
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
Benutzermodell:
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;
Ausgang Fehler:
„Benutzer-Validierung fehlgeschlagen: jobtitle: Position erforderlich ist, nachName: Name ist erforderlich, Vorname: Name Feld ist erforderlich, E-Mail: E-Mail erforderlich ist, Passwort: Passwort erforderlich ist, Benutzername: Der Benutzername ist erforderlich“