Я сохраняю значение регистрации в базе данных с помощью expressjs в Rest api, но как я могу оценить мои поля (имя, адрес электронной почты, пароль), поэтому, если я сохраню данные без ошибок, тогда сообщение об ошибке, связанном с полем, должно показать. Вот мой код
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "mydb"
});
var toTime = new Date();
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql = "INSERT INTO users (name, email,password) VALUES ('"+req.body.name+"','"+req.body.email+"','"+req.body.password+"')";
con.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
});
Первое примечание: вы код подвержен SQL-инъекции. См. Этот вопрос SO
Теперь вы можете просто сделать функцию проверки, которая возвращает boolean
и использовать его перед запросом, например
function validateFunc(...params){
return params.reduce((p,c)=> p && (c !== null && c !== undefined), true);
}
И используйте его, как,
if(!validateFunc(req.body.name, req.body.email, req.body.password)){
// throw some error
}
var sql = "INSERT INTO users (name, email,password) VALUES ('"+req.body.name+"','"+req.body.email+"','"+req.body.password+"')";