【发布时间】:2021-06-21 19:57:12
【问题描述】:
我有一个在 MongoDB 集群中保存成绩的 React 函数。但是,它会保存任何值,但我只想保存 1 到 10 之间的值,如果值超出此区间,我想显示警报并且不将成绩保存在数据库中。
这是我的功能:
const saveGrade = async (id, value, idGrade) => {
try {
setLoading(true);
setSuccess(false);
setError("");
let resp = null;
resp = await axios.post(`subjectGrade/create`, {
subjectStudent: id,
partial: semester,
grade: value,
});
if (value <= 10 && value >= 1) { \\here im adding the range i want
if (resp.status === 200) {
setSuccess(true);
const ids = dataUserSubjects.reduce((ids, item) => {
if (item.subject._id === subjectAssigned) ids.push(item._id);
return ids;
}, []);
const getSubjectGrades = async () => {
const gradesSubject = await axios.post(`/subjectGrade/all`, {
ids,
});
setStudentsGrades(gradesSubject.data);
};
await getSubjectGrades();
} else {
setError(resp.data.msg);
}
} else {
alert("NOT OK"); \\here i display an alert, but value is still saved in database
}
} catch (err) {
setError(err.message);
}
setLoading(false);
};
【问题讨论】:
标签: javascript reactjs mongodb axios