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 ответов

11 просмотров

Можно 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...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта