我想制作一個驗證專案唯一性的驗證器。如果我想創建新東西,我想先檢查資料庫中是否已經有了它。
代碼:
const [categList, setCategList] = useState([]);
const getItems = () => {
// Sending HTTP GET request
Axios.get(url).then((response) => {
const categories = [];
response.data.forEach((resCateg) => {
categories.push(resCateg.name ", " resCateg.description);
console.log(resCateg);
});
setCategList(categories);
});
};
在我做之前:
function submit(e) {
e.preventDefault();
//reset form validation errors
resetFormValidationErrors();
Axios.post(url, {
// Sending HTTP POST request
name: data.name,
description: data.description,
}).then((res) => {
resetForm();
});
}
我想在“preventDefault”下檢查我的名字是否唯一。有什么幫助嗎?
uj5u.com熱心網友回復:
您只需要在您的狀態中存盤名稱,然后您就可以從該陣列中檢查您的名稱是否已經存在。
這是如何做到的 -
const [categList, setCategList] = useState([]);
const getItems = () => {
// Sending HTTP GET request
Axios.get(url).then((response) => {
const categoryNames = response.data.map(res => res.name)
setCategList(categoryNames);
});
};
提交時檢查 -
function submit(e) {
e.preventDefault();
//reset form validation errors
resetFormValidationErrors();
// Checking here if `categList` already includes name
if(categList.includes(data.name.trim())) {
alert(`${data.name} is already taken, Please select any other name.`)
return
}
Axios.post(url, {
// Sending HTTP POST request
name: data.name,
description: data.description,
}).then((res) => {
resetForm();
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/360076.html
標籤:javascript 反应 公理 前端
上一篇:單擊RNPickerSelect時ReactNativeApp關閉
下一篇:按鈕沒有回應(甚至沒有懸停)
