express :: server :: routerTypeError: невозможно прочитать свойство 'length', равное undefined - PullRequest
0 голосов
/ 12 июля 2020

Я не понимаю, почему у меня возникает эта ошибка, когда я пытаюсь получить длину элемента в моем почтовом запросе, я пытаюсь удалить файл yarn.lock, удалить node_moduls и загрузить его снова, но это не так работа может мне кто-нибудь помочь пожалуйста !!!

мой код:

router.post('/register', (req, res) => {
    const { first_name, last_name, email, pass1, pass2 } = req.body;
    const errors = []
    if (!first_name || !last_name || !email || !pass1 || !pass2)
        errors.push({ msg: 'please fill all fields' })
    var name = first_name.concat(' ')
    name = name.concat(last_name)
    if (pass1 !== pass2)
        errors.push({ msg: 'password don\'t match' })
    if (pass1.length() < 8)
        errors.push({ msg: 'message length should be upper than 8' })

    if (errors.length() > 0) {
        res.send("error")
    } else {
        res.send(req.body)
    } 
})

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Вы вызываете string.length (), а длина - это свойство, а не функция, я считаю. Попробуйте удалить () и, возможно, console.log (pass1), чтобы убедиться.

0 голосов
/ 12 июля 2020

Я думаю, проблема в том, что pass1 не определен, поэтому он дает вам ту ошибку, которую вы не можете вызвать .length of undefined. попробуйте console.log(pass1) и посмотрите его значение. также вы должны использовать (pass1.length < 8) и (errors.length > 0), потому что длина не является функцией, это свойство, это также выдаст вам ошибку.

...