我希望创建具有参数名称,候选人电子邮件,职位名称以及JobDetail的描述,工资和职位的应用程序。 这是我的代码
create: async function (req, res) {
try {
let { name, email, title, description, salary, position } = req.allParams();
if (!name) {
return res.badRequest('name is required');
}
if (!email) {
return res.badRequest('email is required');
}
if (!salary) {
return res.badRequest('salary is required');
}
//check job exist
const checkExistence = await Job.findOne({
title: title
});
if (!checkExistence) {
return res.badRequest('Job does not exist!!!');
}
return res.ok('Ok!!!');
} catch (error) {
res.serverError(error);
}
}
我一直在检查作业模型是否具有输入作业? 我只是应用findOne()或find()来检查存在,但我觉得解决方案不是最佳实践。 我对Sails很新鲜。希望你们帮助我。提前谢谢。
答案 0 :(得分:0)
验证backend
中的请求参数不是一个好习惯。你应该在frontend
中做到这一点。无论如何,您可以使用上面的代码来检查作业标题的存在。相反,您可以使用传统的node.js
回调来检查作业标题的存在,如下所示。
Job.findOne({ title: title}).exec(function(err, result){
if (err) {
return res.send({ message: 'error'});
}
else if (!result) {
return res.send({ message: 'job does not exists'});
}
return res.send({ message: 'success'});
});