用express-validator 6验证表单的正确方法是什么?

问题描述

我正在使用 express-validator 6 创建一个简单的注册表单页面

在创建用户之前,应先验证输入内容并报告任何错误

但是无论我如何检查值,它都会保持返回相同的错误,然后使用json格式呈现整个页面

检查表格的正确方法是什么?感觉好像我没有从输入获得正确的数据传递。

如何警告错误消息而不是呈现页面? if语句从responseXD中获取错误的原因是什么

请求

var express = require('express');
const { body,validationResult } = require('express-validator');
var router = express.Router();

router.post('/register',[
  // username
  body('username')
    .notEmpty()
    .withMessage('username required!'),// password
  body('password')
    .notEmpty()
    .withMessage('password required!')
    .isLength({ min: 5 })
    .withMessage('min 5!'),],function(req,res,next){
    const errors = validationResult(req);
    if (errors) {
      // return res.status(400).json({ errors: errors.array() });
    }
    else{
      // add User...
    }
});

注册表格

extends layout
block content
    h1.page-header Register
    p Please register using the form below
    if errors
        each error,i in errors
            div.alert.alert-danger #{error.msg}
    //form
    form(method="post",action="/users/register",enctype="multipart/form-data")
        div.form-group
            label(for="") Username
            input.form-control(name="username",type="text")
        div.form-group
            label(for="") Password
            input.form-control(name="password",type="password")
        div.form-group
            label(for="") Confirm Password
            input.form-control(name="passwordre",type="password")
        div.form-group
            label(for="") File Input
            input.form-control-file(name="profileimage",type="file")
        div.form-group
            input.btn.btn-primary(type='submit',name='submit',value='Register')

感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)