مشخصات مقاله
-
1644
-
0.0
-
2896
-
0
-
0
آموزش MVC Core-آموزش استفاده از MVC [Remote] Validation در MVC Core
آموزش MVC Core-آموزش استفاده از MVC [Remote] Validation در MVC Core
مسئله
نحوه اجرای اعتبار سنجی مدل با استفاده از ویژگی [Remote] در ASP.NET Core MVC.
راه حل
در Startup، middleware و services را برای MVC پیکربندی کنید.
public void ConfigureServices(
IServiceCollection services)
{
services.AddMvc();
}
public void Configure(
IApplicationBuilder app,
IHostingEnvironment env)
{
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
}
یک مدل اضافه کنید
public class EmployeeInputModel
{
[Required]
[Remote(action: "ValidateEmployeeNo", controller: "Home")]
public string EmployeeNo { get; set; }
}
یک کنترلر اضافه کنید
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Index(EmployeeInputModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var json = JsonConvert.SerializeObject(model);
return Content(json);
}
public IActionResult ValidateEmployeeNo(string employeeNo)
{
if (employeeNo == "007")
return Json(data: "007 is already assigned to James Bond!");
return Json(data: true);
}
}
اضافه کردن یک صفحه Razor و اسکریپت برای جی کوئری و اعتبارسنجی آن.
using Fiver.Mvc.ModelValidation.Remote.Models.Home
@model EmployeeInputModel
< strong >ASP.NET Core MVC Client Validation< /strong >
< form asp-controller="Home" asp-action="Index" method="post" >
< div asp-validation-summary="All" >< /div >
< label asp-for="EmployeeNo" >< /label >
< input asp-for="EmployeeNo" / >
< span asp-validation-for="EmployeeNo" >< /span >
< button type="submit" >Save< /button >
< /form >
< script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.3.min.js" >< /script >
< script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js" >< /script >
< script src="https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.6/jquery.validate.unobtrusive.min.js" >< /script >
بحث و گفتگو
ASP.NET Core MVC یک ویژگی [Remote] مفید برای ایجاد فراخوانی AJAX به "Controller / Action" برای انجام اعتبار سنجی سمت سرور بدون نیاز به post-back را فراهم میکند. این ویژگی از jQuery و فایل های جاوا اسکریپت معتبر برای انجام درخواست AJAX استفاده می کند.
ما به سادگی مدل property را با ویژگی [Remote] مشخص می کنیم و کنترلر و اکشن را مشخص می کنیم. اکشن خود یک نتیجه JSON را با یک پیام validation یا «true» بر می گرداند.
شما می توانید Source Code این مقاله را از لینک زیر دانلود کنید:
https://github.com/TahirNaushad/Fiver.Mvc.ModelValidation.Remote
شما دانشجویان گرامی می توانید فایل مربوط به این آموزش را از قسمت پایانی این مقاله دانلود نمایید .