170 похожих чатов

Всем привет! Обращаюсь за советом. Делаю api через роутер на express,

в методе регистрации пользователя 3 основных этапа:

1\ подготовка и валидация данных;
2\ проверка наличия email в БД;
3\ запись данных нового пользователя в БД.

Логически разделил код на 3 блока, чтобы если данные не проходят, допустим, проверку и валидацю, то код 2 и 3 этапа не выполняется.

res.status(200).json({
error: 1,
error_text: 'Заполните все обязательные данные'
});

Отправляю такой результат, но остальной код продолжает выполняться. От огромных if…else конструкций отказался. Вопрос с исполнением остальной части кода решил путем добавления «return».

res.status(200).json({
error: 1,
error_text: 'Заполните все обязательные данные'
});
return;

С Вашей точки зрения, насколько это корретное решение?

4 ответов

5 просмотров

Можно 2 и 3 объеденить, поставив unique индекс на email

Leo-Lobov Автор вопроса
Artem Soroka
Можно 2 и 3 объеденить, поставив unique индекс на ...

С монгусом работаю впервые, в плане он ошибку выдаст при попытке записи с имеющимся email

Правила валидации yum, joi или ajv, можно в middle ware вынести

Leo-Lobov Автор вопроса
Artem Soroka
Правила валидации yum, joi или ajv, можно в middle...

А как их проходить? При запросе на данный роут после чека рекапчи?

Похожие вопросы

Обсуждают сегодня

/////////////////////////////////////// TChart / TLineSeries - сохранение данных (текстовый файл) /////////////////////////////////////// добрый день / работа с графиком: 1....
livontiy
14
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
43
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
кто поможет крякнуть чит? (реверс инжиринг) чтобы разблокировать премиум версию
Mёdkinson Medvezhkin
39
Чем больше разбираюсь с интерфейсами в дельфи, тем меньше понимаю, как работает поиск имен. type IIntf = interface function GetStr: string; end; IChild = interface(I...
Jack128
9
давайте за механические клавиатуры потрём, мне тут неучтенных денег упало и их можно потратить на что-то такое, вот думаю про dark project kd87a, кто-то имеет что-то подобное?
Oleg Nosov
24
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
15
Вопрос по организации кода. Пилю свой велосипед логгер Есть у меня множество уровней сообщений. Я набрасываю сообщения в стринглист, а когда они нужны, вызываю их через функц...
Serjone
21
Ребя, тут спрашивают, что лучше использовать для юзербота на java? 👀
Mars BATYA [NYА]
12
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Карта сайта