Как проверить при регистрации, существует ли уже пользователь с такими данными?
Всем привет! Делаю приложение на реакте, и при регистрации пользователя нужно проверить, есть ли уже человек с таким никнеймом или почтой. Каков правильный алгоритм выполнения этой операции?
При сабмите регистрационной формы делаем запрос на получение списка всех пользователей, запихиваем их всех в массив и проверяем, есть ли там такой никнейм или почта? Или есть более оптимальный вариант?
Kirill Ivanov, А откуда фронт возьмёт эти данные, как не с того же бэка? На фронте есть смысл проверять соответствие логина общим требованиям (длина в пределах допустимого, содержит только символы из определённого набора, начинается с буквы и т.д.).
А если у вас миллион пользователей? Будете принимать массив с миллионом имэйлов и искать в нем на фронте введенный адрес? Сколько времени это займет? А памяти?
Ну и неплохой способ получить почту всех ваших клиентов, просто открыв консольку разработчика.
Если используется SQL или подобная БД - добавляем в базу uniq(username, email), что не позволит вставлять одинаковые записи, а затем, при отправлении формы просто делаем INSERT и ловим ошибку (Если ошибки нет - запись появиться в базе. Если есть - в базу запсиь не попадёт, а мы покажем соответствующее сообщение в форме)