Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2021, 16:42
Интересующийся
Отправить личное сообщение для mateorich Посмотреть профиль Найти все сообщения от mateorich
 
Регистрация: 21.11.2020
Сообщений: 14

Проверка заполненности поля
Всем привет. Разбираюсь с 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 (permalink)  
Старый 18.01.2021, 17:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от mateorich
мне нужно реализовать проверку заполненности поля title, если название указано то отправлять запрос в БД, если же поле пустое, то выводить ошибку. Я вроде бы реализовал проверку, но
Как-то странно вы её реализовали. Сами же пишете, что проверку нужно сделать до запроса, а в коде сначала запрос, потом проверка.

Перенесите в строку 2 свою строку 6, в строку 3 добавьте это:
if (!String(title).trim().length) {
    return void response.status(422, {message: 'Укажите название'}, res);
}


P.S. templates string лучше использовать по назначению, а не просто для инициализации строки.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вместо капчи проверка скрытого поля nifty5 Общие вопросы Javascript 10 15.07.2018 20:19
Проверка поля Rich_01 Общие вопросы Javascript 3 15.05.2015 17:15
Проверка существования поля ev09 Элементы интерфейса 5 05.05.2012 19:15
Проверка Тестового поля arahmanov AJAX и COMET 7 05.08.2011 00:35
проверка поля в скрытом div'е dmus AJAX и COMET 4 10.08.2009 10:34