[英]Validation Error when insert new data using mongoose
我想將新數據插入到集合中,但是當我提交表單時,出現驗證錯誤。
ValidationError:教師驗證失敗:主題:請輸入主題,第二主題:路徑
second_subject
是必需的。
HTML 文件
<form action="/register" method="post" id="form3">
<div class="form-group"><label class="small mb-1">Full name</label><input class="form-control py-4" style="width: 50%;" type="name" name="name" placeholder="Enter full name" /></div>
<div class="form-group"><label class="small mb-1" >Email</label><input class="form-control py-4" style="width: 50%;" type="username" name="username" placeholder="Enter email address" /></div>
<div class="form-group"><label class="small mb-1" >Password</label><input class="form-control py-4" style="width: 50%;" type="password" name="password" placeholder="Password" /></div>
<input type="hidden" id="roles" name="roles" value="Creator">
<div class="form-group"><label class="small mb-1" >Select Primary Subject</label>
<select name="subject" class="form-control" style="width: 30%;" id="subject">
<option value="">-- Select Subject --</option>
<% subject.forEach(function (subject) { %>
<option value= "" ><%= subject.subject_name %></option>
<% }) %>
</select>
</div>
<div class="form-group"><label class="small mb-1" >Select Secondary Subject</label>
<select name="secondary_subject" class="form-control" style="width: 30%;" id="secondary_subject">
<option value="">-- Select Subject --</option>
<% subject.forEach(function (subject) { %>
<option value= "" ><%= subject.subject_name %></option>
<% }) %>
</select>
</div>
<div class="form-group"><label class="small mb-1" >Preferred Level of study</label>
<select name="level" class="form-control" style="width: 30%;" id="level">
<option value="">-- Select level --</option>
<option value="Level 1">Level 1</option>
<option value="Level 2">Level 2</option>
</select>
</div>
<div class="form-group mt-4 mb-0"><input type="submit" value="Submit" style="width: 20%;" a class="btn btn-primary btn-block" href="/admin_user"></div>
</form>
路線
if(req.body.subject && req.body.secondary_subject,req.body.level){
var teacherData = {
subject: req.body.subject,
second_subject: req.body.secondary_subject,
level: req.body.level,
userId:req.session.userId,
}
Teacher.create(teacherData, function (err, teacher){
if(err){
return next(err)
}else
{
console.log('Teacher details added'+teacher)
return res.redirect('/admin_user');
}
});
}else{
var err = new Error('All fields have to be filled out');
err.status = 400;
return next(err);
}
架構
var TeacherSchema = new mongoose.Schema ({
subject: {
type:String,
required:true,
},
level: {
type:String,
required:true,
},
second_subject: {
type:String,
required:true,
},
userId:{
type:String,
required:true,
},
});
在您的Route文件中,檢查“not null”和“not equal to empty string”。 這將確保不會將空字符串輸入到您的數據庫中。
if (req.body.subject.= null && req.body.subject.== "" && req.body.secondary_subject.= null && req.body.secondary_subject.== "" && req:body.level.= null && req,body:level.== "") { var teacherData = { subject. req,body:subject. second_subject. req,body:secondary_subject. level. req,body.level, userId, req.session.userId; } Teacher;create(teacherData; function(err. teacher) { if (err) { return next(err) } else { console;log('Teacher details added' + teacher) return res;redirect('/admin_user'); } }); } else { var err = new Error('All fields have to be filled out'); err.status = 400; return next(err); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.