Проблема с множественной проверкой значений
Здравствуйте! У меня есть форма входа, и я хотел бы разрешить пользователям использовать несколько пар логин/пароль.
В текущем коде у меня реализована следующая логика:
if (loginForm.username.value == "admin" && loginForm.password.value == "secret")
Однако я хотел бы сделать так, чтобы пользователи могли вводить и логин “admin”, и логин “user”, а также пароли “secret” и “pass123”.
Я пытался изменить код на следующий:
if (loginForm.username.value == "admin", "user" && loginForm.password.value == "secret", "pass123")
Но это не сработало. Как правильно проверить, что введенные данные соответствуют одной из разрешённых комбинаций? Мне нужна помощь с синтаксисом для проверки нескольких возможных значений в одном условии.
Используй оператор || (или) для каждого поля:
if ((loginForm.username.value == "admin" || loginForm.username.value == "user") &&
(loginForm.password.value == "secret" || loginForm.password.value == "pass123"))
Только помни - тут любая комбинация сработает. Если нужны строгие пары логин-пароль, лучше через switch или создай объект с соответствием.
Зачем пароли на фронте хранить? Небезопасно же - любой в коде увидит данные. Лучше на сервер отправлять и там проверять. Или хеши использовать. Это для реального проекта или тестишь просто?
Делал похожую админку. Проще всего создать массивы с логинами и паролями, потом проверить через includes():
const validUsers = ["admin", "user"];
const validPasswords = ["secret", "pass123"];
if (validUsers.includes(loginForm.username.value) && validPasswords.includes(loginForm.password.value))
Только помни - так любой логин пройдет с любым паролем. Нужны конкретные пары? Делай объект: ключ = логин, значение = пароль.