آموزش صفت Required در MVC
جمعه 17 مهر 1394گاهی اوقات در برنامه واقعی قصد داریم یک فیلد اجباری در سایت قرار دهیم که تا کاربر این فیلد را پر نکند اجازه رفتن به صفحه بعد را نداشته باشد در MVC یک صفتی به نام Required وجود دارد که در این مقاله به بررسی این صفت میپردازیم
برای شروع ابتدا یک پروژه از نوع MVC ایجاد میکنیم سپس روی پروژه راست کلیک کرده و در Add>NewItem>Class یک کلاس به نام Employee ایجاد میکنیم
namespace WebApplication5.Models { public class Employee { public int ID { get; set; } public string Name { get; set; } public string Family { get; set; } public string LastName { get; set; } public string Email { get; set; } } }
حال روی کنترلر راست کلیک کرده ودر Add>Newitem <Controller ایجاد میکنیم
حال یک کنترلر از نوع Emptyایجاد میکنیم
و در آخر نام کنترلر را انتخاب میکنیم
حال همان طور که مشاهده میکنید یک صفحه خالی تنها با یک متد ایجاد شده است
namespace WebApplication5.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } } }
حال یک متد به نام Create از نوع post و Get ایجاد میکنیم
[HttpGet] public ActionResult Creatre() { return View(); } [HttpPost] public ActionResult Creatre(Employee em ) { return View(); }
حال رو متد Createراست کلیک کرده و یک View از نوع Create از جنس کلاس employee ایجاد میکنیم
و هنگامی که دکمه Ok را انتخاب میکنیم به صورت یک view از جنس کلاس employeeساخته میشود
@using (Html.BeginForm()) { @Html.AntiForgeryToken() <div class="form-horizontal"> <h4>Employee</h4> <hr /> @Html.ValidationSummary(true, "", new { @class = "text-danger" }) <div class="form-group"> @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Family, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Family, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Family, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.LastName, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.LastName, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.LastName, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="Create" class="btn btn-default" /> </div> </div> </div> }
حال ما قصد داریم که کاربر حتما نام و پست الکترونیکی را وارد کند در غیر اینصورت اجازه ثبت ندهد و بایک پیغام به مضمون اینکه فیلد را وارد کنید روبه رو شود
برای این کار کافی است در کلاس employee رفته و بالای متغیر های Name , Eamil از صفت Required استفاده کنیم
namespace WebApplication5.Models { public class Employee { public int ID { get; set; } [Required(ErrorMessage = "لطفا نام را وارد کنید")] public string Name { get; set; } public string Family { get; set; } public string LastName { get; set; } [Required(ErrorMessage = "لطفا پست اکترونیکی را وارد کنید")] public string Email { get; set; } } }
لازم بذکر است که این صفت در فضای نام زیر قرار دارد
using System.ComponentModel.DataAnnotations;
ودر آخر این نکته را خاطر نشان کنم که در MVC برای آن که اعتبارسنجی ها سمت کاربر کار کند بایستی این چند Script به ترتیب زیر در View قرار بگیرند
<script src="~/Scripts/jquery-1.10.2.js"></script> <script src="~/Scripts/jquery.validate.min.js"></script> <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
حال از برنامه اجرا بگیرید.
- ASP.net MVC
- 2k بازدید
- 2 تشکر