ModelState و بررسی صحت اطلاعات در MVC
بسم الله الرحمن الرحیم
ModelState و بررسی صحت اطلاعات در MVC
اعتبارسنجی اطلاعات در asp.net mvc
ممکن است در برنامه خود نیاز داشته باشید اطلاعات کاربر را در Controller بررسی کنید و پیام مناسبی به کاربر خود نمایش دهید.
یکی از روش هایی که می توانید به وسیله آن صحبت اطلاعات ارسالی را در سمت Server بررسی نمایید و پیام مناسب به کاربر نمایش دهید استفاده از همان ModelState است.
طبیعتا همه شما با دستور زیر آشنا هستید:
if (ModelState.IsValid)
{
/**do something*/
}
این دستوری است که در تمامی Action های [HttpPost] نوشته می شود تا اطلاعات ارسالی کاربر بررسی گردد و در صورتی که تمامی اطلاعات به صورت صحیح به سرور ارسال شده اند، عملیات مورد نظر انجام شود.
فکر می کنید می خواهید فایلی را از کاربر دریافت و بر روی سرور قرار دهید پس دریافت فایل مشاهده می کنید که چنین فایلی بر روی سرور وجود دارد و می خواهید به کاربر اطلاع دهید تا یا نام فایل خود را تغییر دهد و یا گزینه Replace را انتخاب کنید.
یکی از روش های پیشنهادی بررسی صحت اطلاعات در سمت سرور استفاده از دستور زیر است
ModelState.AddModelError("", "Error in persisting Data");
با استفاده از این دستور شما می توانید ابتدا تمامی موارد مورد نیاز خود را در Action مربوطه بررسی کنید. این دستور با اضافه کرن خطا به ModelState باعث می شود تا فرایند شما انجام نشود مثال:
if(fileName.Name == "test.jpg")
ModelState.AddModelError("file1", "The file is already exists! ");
if (ModelState.IsValid)
{
/**do something*/
}
در دستور بالا اگر نام فایل انتخاب شده کاربر test.jpg باشد خطایی به ModelState اضافه می شود در نتیجه ModelState.IsValid برابر false خواهد شد و عملیات اجرا نمی شود.
این روش کد نویسی باعث می شود تا از دستورات if تو در تو جلوگیری شود.
- 1