Проверка заполненности поля
Всем привет. Разбираюсь с REST API и словил маленький тупняк. Я передаю в базу данных объект вида:
{ "title": "", "price": "25000", "image": "***" "user_id": "***" } И мне нужно реализовать проверку заполненности поля title, если название указано то отправлять запрос в БД, если же поле пустое, то выводить ошибку. Я вроде бы реализовал проверку, но она не работает, не могу понять почему. Буду признателен за помощь. exports.items = (req, res) => { db.query("SELECT `id`, `title`, `price`, `image`, `user_id` FROM `items` WHERE `title` = '" + req.body.title + "'", (error, rows, fields) => { if(typeof rows == 'undefined' && rows.length === 0) { response.status(422, {message: `Укажите название`}, res) } else { const title = req.body.title const price = req.body.price const image = req.body.image const user_id = req.body.user_id const sql = "INSERT INTO `items` (`title`, `price`, `image`, `user_id`) VALUES ('" + title + "', '" + price + "', '" + image + "', '" + user_id + "')"; db.query(sql, (error, result) => { if(error) { response.status(400, error, res) } else { response.status(200, {message: `Обьект создан`, result}, res) } }) } }) } |
Цитата:
Перенесите в строку 2 свою строку 6, в строку 3 добавьте это: if (!String(title).trim().length) { return void response.status(422, {message: 'Укажите название'}, res); } P.S. templates string лучше использовать по назначению, а не просто для инициализации строки. |
Часовой пояс GMT +3, время: 18:57. |