Проверка заполненности поля
Всем привет. Разбираюсь с 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:46. |