Express.js应用程序错误:表单字段值不持久

问题描述 投票:0回答:1

我正在使用blogging applicationExpress和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()方法。 ...

express ejs mean-stack
1个回答
0
投票
<div class="form-group"> <input type="text" class="form-control" name="title" placeholder="Title" value="<%= typeof title != 'undefined' ? title: '' %>"> </div>
© www.soinside.com 2019 - 2024. All rights reserved.