HTML 表单在 Handlebars 视图中不显示正确的数据

在使用 sequelize 和 postgresql(由 brad traversy 提供)创建一个快速应用程序时,我第一次使用 handlebars。填写表单后,我使用 Joi 来验证请求主体,如果出现错误,我会重新呈现表单(视图)并保留最初输入的值。问题是发生这种情况时,文本会被自动修剪。


EG 我用“Hello World”填写标题字段并且不填写表单中的其他字段,Joi 会不高兴所以我重新呈现表单(视图)并且当标题重新填充到表单中时,它会只是说“你好”。


千兆资源的发布端点


// Add a Gig

router.post("/add", (req, res) => {

    let { title, technologies, budget, description, contact_email } = req.body;


    const { error } = validateGig(req.body);


    if (error) {

        // Re-Render The Form

        return res.status(400).render("add", {

            error: error.details[0].message,

            title,

            technologies,

            budget,

            description,

            contact_email

        });

    } else {

        budget == "" ? (budget = "Unknown") : (budget = `$${budget}`);


        // Make Lower Case and Remove Space After Comma

        technologies = technologies.toLowerCase().replace(/, /g, ",");


        // Insert Into Table

        Gig.create({

            title,

            technologies,

            budget,

            description,

            contact_email

        })

            .then((gig) => res.redirect("/gigs"))

            .catch((err) => console.log("Error Adding Gig" + err));

    }

});


慕容森
浏览 93回答 1
1回答

Smart猫小萌

在模板中使用变量时,您仍需要在属性值两边加上引号。例如:value={{title}}应该写成value="{{title}}"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript