registerUser: (req, res, next) => {
const { username, email, password } = req.body
User.create(req.body, (err, createdUser) => {
if (err) {
return next(err)
} else if (!username || !email || !password) {
return res.status(400).json({ message: "Username, email and password are must" })
} else if (!validator.isEmail(email)) {
return res.status(400).json({ message: "Invaid email" })
} else if (password.length < 6) {
return res.status(400).json({ message: "Password should be of at least 6 characters" })
}
else {
return res.status(200).json({ user: createdUser })
}
})
},
loginUser: (req, res, next) => {
const { email, password } = req.body
User.findOne({ email }, (err, user) => {
if (err) {
return next(err)
} else if (!user || !password) {
return res.status(400).json({ message: "Email and password are must" })
} else if (!validator.isEmail(email)) {
return res.status(400).json({ message: "Invalid email" })
} else if (!user) {
return res.status(402).json({ error: "User not found" })
} else if (!user.confirmPassword(password)) {
return res.status(402).json({ error: "Incorrect password" })
}
// generate token here
const token = auth.signToken(email)
res.status(200).json({ user, token })
})
},
Я хочу проверить, есть ли уже пользователь в базе данных, тогда пользователь сможет войти в систему. Если нет, то появится сообщение «Вы не зарегистрированы». Прямо сейчас, если Я вхожу с электронной почтой, отличной от зарегистрированной, и говорит, что адрес электронной почты и пароль обязательны.
В общем, мне нужно добавить правильные проверки в форме регистрации и входа.
handleSubmit = (event) => {
event.preventDefault();
const { email, password } = this.state;
const loginData = {
email: this.state.email,
password: this.state.password
}
if (!email || !password) {
return alert('Email and password are must.');
}
if (password.length < 6) {
return alert('Password must contain 6 characters.');
}
if (!validator.isEmail(email)) {
return alert('Invalid email.');
}
this.props.dispatch(loginUser(loginData))
this.props.history.push("/")
}
Во внешнем интерфейсе я перенаправляю пользователя на домашнюю страницу после входа в систему. Теперь проблема в том, что пользователь перенаправляет независимо от того, какие учетные данные. Должен ли я добавить проверки здесь, в веб-интерфейсе?