سلام و احترام...
هنگام ثبت اطلاعات جدید، در صورتی که برای اولین بار بر روی دکمه (ثبت اطلاعات) در برنامه کلیک می کنم، یه رکورد جدید به صورت خالی برای من داخل SQL ذخیره میشه! چطور می تونم این مشکل رو حل کنم؟
کد AJAX
$("#btnAddCountry").on('click', function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: '@ApiAddress' + 'CountriesApi/CreateCountryApi',
data: { countryname: $("#CountryName").val() },
success: function (xml, textStatus, xhr) {
// موجود هستند API پارامترهای استانداردی که از
if (xhr.status == '200') {
// نمایش فرم انیمیشن در زمان ثبت اطلاعات
const loadingEl = document.createElement("div");
document.body.prepend(loadingEl);
loadingEl.classList.add("page-loader");
loadingEl.classList.add("flex-column");
loadingEl.classList.add("bg-dark");
loadingEl.classList.add("bg-opacity-25");
loadingEl.innerHTML = `
<span class="spinner-border text-primary" role="status"></span>
<span class="text-gray-100 fs-5 mt-5">سیستم در حال بررسی اطلاعات ...</span>`;
KTApp.showPageLoading();
setTimeout(function () {
KTApp.hidePageLoading();
loadingEl.remove();
window.location.reload();
}, 3550);
setTimeout(function () {
toastr.options = {
"debug": false,
"closeButton": false,
"newestOnTop": false,
"progressBar": true,
"positionClass": "toastr-top-center",
"preventDuplicates": false,
"showDuration": "600",
"hideDuration": "1000",
"timeOut": "1800",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.success("ثبت اطلاعات با موفقیت انجام شد.");
}, 1300);
}
if (jqXHR.status == '550') {
const loadingEl = document.createElement("div");
document.body.prepend(loadingEl);
loadingEl.classList.add("page-loader");
loadingEl.classList.add("flex-column");
loadingEl.classList.add("bg-dark");
loadingEl.classList.add("bg-opacity-25");
loadingEl.innerHTML = `
<span class="spinner-border text-primary" role="status"></span>
<span class="text-gray-100 fs-5 mt-5">سیستم در حال بررسی اطلاعات ...</span>`;
KTApp.showPageLoading();
setTimeout(function () {
KTApp.hidePageLoading();
loadingEl.remove();
window.location.reload();
}, 3550);
setTimeout(function () {
toastr.options = {
"debug": false,
"newestOnTop": false,
"progressBar": true,
"positionClass": "toastr-top-center",
"preventDuplicates": false,
"showDuration": "6000",
"hideDuration": "1000",
"timeOut": "1700",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.warning("کاربرگرامی: این کشور قبلاٌ ثبت شده است.", "هشدار");
}, 1300);
return false;
}
else if (jqXHR.status == '500') {
const loadingEl = document.createElement("div");
document.body.prepend(loadingEl);
loadingEl.classList.add("page-loader");
loadingEl.classList.add("flex-column");
loadingEl.classList.add("bg-dark");
loadingEl.classList.add("bg-opacity-25");
loadingEl.innerHTML = `
<span class="spinner-border text-primary" role="status"></span>
<span class="text-gray-100 fs-5 mt-5">سیستم در حال بررسی اطلاعات ...</span>`;
KTApp.showPageLoading();
setTimeout(function () {
KTApp.hidePageLoading();
loadingEl.remove();
window.location.reload();
}, 3550);
setTimeout(function () {
toastr.options = {
"debug": false,
"newestOnTop": false,
"progressBar": true,
"positionClass": "toastr-top-center",
"preventDuplicates": false,
"showDuration": "6000",
"hideDuration": "1000",
"timeOut": "1700",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.error("در ثبت اطلاعات مشکلی بوجود آمده است. لطفاً دقایقی دیگر تلاش نمایید.", "خطا");
}, 1300);
return false;
}
else if (jqXHR.status == '400' || xhr.status == 0) {
const loadingEl = document.createElement("div");
document.body.prepend(loadingEl);
loadingEl.classList.add("page-loader");
loadingEl.classList.add("flex-column");
loadingEl.classList.add("bg-dark");
loadingEl.classList.add("bg-opacity-25");
loadingEl.innerHTML = `
<span class="spinner-border text-primary" role="status"></span>
<span class="text-gray-100 fs-5 mt-5">سیستم در حال بررسی اطلاعات ...</span>`;
KTApp.showPageLoading();
setTimeout(function () {
KTApp.hidePageLoading();
loadingEl.remove();
window.location.reload();
}, 3550);
setTimeout(function () {
toastr.options = {
"debug": false,
"newestOnTop": false,
"progressBar": true,
"positionClass": "toastr-top-center",
"preventDuplicates": false,
"showDuration": "6000",
"hideDuration": "1000",
"timeOut": "1700",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.info("کاربرگرامی: وارد کردن نام کشور الزامی است.", "خطا");
}, 1300);
return false;
}
},
//error: function(jqXHR, textStatus, exception) {
//}
})
});
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
کد مربوط به نال نبودن اطلاعات در سمت WebAPI
[HttpPost("CreateCountryApi")]
public IActionResult Create([FromForm] string countryname = "")
{
// شرط مربوط به خالی بودن و خطای داده مربوط به کشور
if (countryname == null) return BadRequest(ModelState);
// متد مربوط به تکراری نبودن اطلاعات در پایگاه داده
var getCity = _context.countryUW.Get(c => c.CountryName == countryname);
if (getCity.Count() > 0)
{
// خطای مربوط به ثبت داده تکرای در پایگاه داده
return StatusCode(550);
}
try
{
Country C = new Country
{
CountryName = countryname,
};
_context.countryUW.Create(C);
_context.Save();
return Ok(C);
}
catch (Exception)
{
// خطای مربوط به ثبت نشدن اطلاعات شهر در پایگاه داده
return StatusCode(500);
}
}
دوست عزیز بهتره فقط کدهایی رو قرار بدید که فکر میکنید مشکل دارن. نیازی نیست همه کدهای خودتون رو کپی کنید چون خیلی شلوغ میشه و افراد کمتری تمایل پیدا می کنن پاسخ بدن.
Country C = new Country
{
CountryName = countryname,
};
ضمنا مطمین باشید که دیتابیس شما با collation فارسی یا arabic ساخته شده باشه.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
395
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
562
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1348
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|