我正在使用blogging application,Express和MongoDB开发EJS(单击链接以查看GitHub回购)。>
当然有一个“添加新帖子”形式,在控制器中带有addPost()
方法;
exports.addPost = (req, res, next) => { const errors = validationResult(req); const post = new Post(); if (!errors.isEmpty()) { req.flash('danger', errors.array()); req.session.save(() => res.redirect('../addpost')); } else { post.title = req.body.title; post.short_description = req.body.excerpt post.full_text = req.body.body; post.save(function(err) { if (err) { console.log(err); return; } else { req.flash('success', "The post was successfully added"); req.session.save(() => res.redirect('/dashboard')); } }); } }
表单视图:
表单字段已提交,但其中[。将再次呈现表单视图,并显示错误消息,其中显示<form action="./post/add" method="POST" class="mb-0"> <div class="form-group"> <input type="text" class="form-control" name="title" value="<%= req.body.title %>" placeholder="Title" /> </div> <div class="form-group"> <input type="text" class="form-control" name="excerpt" value="<%= req.body.excerpt %>" placeholder="Excerpt" /> </div> <div class="form-group"> <textarea rows="5" class="form-control" name="body" placeholder="Full text"> <%= req.body.title%> </textarea> </div> <div class="form-group mb-0"> <input type="submit" value="Add Post" class="btn btn-block btn-md btn-success"> </div> </form>
假设某些required
空白必填字段
。但是必填的非空字段应保留其数据。但是他们没有。 我想念什么?我正在使用Express,EJS和MongoDB开发博客应用程序(单击链接以查看GitHub存储库)。当然有一种“添加新帖子”形式,在控制器中带有addPost()方法。 ...
<div class="form-group">
<input type="text" class="form-control" name="title" placeholder="Title" value="<%= typeof title != 'undefined' ? title: '' %>">
</div>