Я пытаюсь сделать роутер регистрации пользователя в экспрессе. Бэкэнд, казалось, работал нормально, так как я проверял его с помощью почтальона. Тем не менее, когда я попытался добавить интерфейс (добавление формы), я получил сообщение об ошибке
{"errors":[{"location":"body","param":"name","msg":"Name is required"},{"location":"body","param":"email","msg":"Please include a valid email"},{"location":"body","param":"password","msg":" Please enter a password with 6 or more characters"}]}
Поскольку я включил атрибут name
в каждый входной тег, я не смог выяснить, в чем проблема.
Вот часть моих кодов.
server.js
app.use('/api/posts', require('./routes/api/posts'));
users.js
router.post(
'/',
[
check('name', 'Name is required')
.not()
.isEmpty(),
check('email', 'Please include a valid email').isEmail(),
check(
'password',
' Please enter a password with 6 or more characters'
).isLength({ min: 6 })
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({
errors: errors.array()
});
}
.
.
.
register.handlebars
<form class="form" action="/api/users" method="post">
<div class="form-group">
<input name="name" type="text" placeholder="Name" requried>
</div>
<div class="form-group">
<input name="email" type="email" placeholder="E-mail">
</div>
<div class="form-group">
<input name="password" type="text" placeholder="Password" minlength="6">
</div>
<input type="submit" value="Create account" class="button green-button" />
</form>ss