2017-12-30 44 views
0

Ich benutze express-validator.Wie man Fehler erzeugt, wenn das Feld leer ist, indem man express-validator in validationResult verwendet

Ich möchte einen Fehler in ValidationResult generieren, wenn das Feld leer ist.

Dies ist mein Code:

router.post('/register',[ 
    check('name').isEmpty().withMessage('Name field cannot be empty.'), 
    check('email').isEmail().withMessage('Enter valid email address.'), 
    check('username').isEmpty().withMessage('Username cannot be empty.'), 
    check('password').isEmpty().matches('password2').withMessage('Password dont match.') 
], function(req, res, next) { 

    const errors = validationResult(req); 
    console.log(errors.array()); 

    if (!errors.isEmpty()) { 
    res.render('register2',{ 
     errors: errors.mapped(), 
     name: req.body.name, 
     email: req.body.email, 
     username: req.body.username, 
     password: req.body.password, 
     password2: req.body.password2 
    }); 
    } 
}); 

ich Fehler erzeugen möchten, wenn Namensfeld und Feld Benutzername leer ist, aber ich Fehler nur für diese Felder erhalten:

[ { location: 'body', 
param: 'email', 
value: '', 
msg: 'Enter valid email address.' }, 
{ location: 'body', 
param: 'password', 
value: '', 
msg: 'Password dont match.' } ] 

Antwort

1

Sie derzeit Gegenteil tun von dem, was du willst. Wenn Sie dies tun:

Sie möchten, dass der Benutzername leer ist und einen Fehler ausgeben, wenn es nicht ist. Sie können es ändern:

check('username').not().isEmpty().withMessage('Username cannot be empty.'), 

oder:

check('username').exists().withMessage('Username cannot be empty.'), 

statt.

+0

.not() gearbeitet. Vielen Dank. – Addictd

Verwandte Themen