Я делаю базовое c приложение для входа. Я просто хотел бы, когда появляется ошибка в узле, которая отображается для пользователя.
Я получаю ошибку.
(узел: 5736) UnhandledPromiseRejectionWarning: RequestError: Нарушение ограничения UNIQUE KEY 'IX_RegisteredUsers'. Невозможно вставить повторяющийся ключ в объект 'dbo.RegisteredUsers'.
В идеале, когда это происходит, я бы хотел, чтобы он просто регистрировал что-то для пользователя в строке "зарегистрироваться не удалось, электронная почта уже существует"
express маршрут
app.post("/register", async (req, response) => {
sql.connect(config, function(err) {
if (err) {
console.log(err);
response.status(400);
response.send(err);
} else {
try {
var request = new sql.Request();
var body = req.body;
console.log(body);
if (body) {
var email = body.email;
var password = body.password;
request.input("email", sql.VarChar, email);
request.input("password", sql.VarChar, password);
request.execute("dbo.RegisterUser");
response.status(201);
response.send("User added ");
console.log("added user");
} else {
response.status(400);
response.send("no content was provided");
}
} catch (e) {
console.log(e);
response.status(400);
response.send(e);
window.alert(e);
response.send("error register ");
}
}
});
});
Клиентская сторона для этого маршрута
handleSubmit(e) {
e.preventDefault();
if (
this.state.email.length < 8 ||
this.state.password.length < 8 ||
!(this.state.password === this.state.passwordConfirm)
) {
alert(`please enter the form correctly `);
} else {
const data = { email: this.state.email, password: this.state.password };
fetch("/register", {
method: "POST", // or 'PUT'
headers: {
Accept: "application/json, text/plain, */*",
"Content-Type": "application/json"
},
body: JSON.stringify(data)
});
alert(`Congradulations you have signed up`);
}
}
catch(e) {
console.log(e);
}