2017-05-07 64 views
0

我想验证@ Html.EditorFor,它需要投入,但在asp.net mvc的工作不@ Html.EditorFor所需=“需要”不工作

<div class="form-group"> <label>First Name editor*</label> 
            @Html.EditorFor(x => x.Requester.FirstName, new { @class = "form-control", required = "required" }) 
            @Html.ValidationMessageFor(m => m.Requester.FirstName) 
           </div> 

对不起我的,因为简单的问题它是真正frustating尝试解决这个问题

我控制器代码

[HttpPost] 
    public ActionResult Index(ViewModel.Ticket m) 
    { 
     try 
     { 
      using (DatabaseManager ctx = new DatabaseManager(true)) 
      { 
       if (string.IsNullOrEmpty(m.TicketNo)) 
       { 
        m.TicketNo = TicketNo.Create(User.Identity.Name, "TICKET"); 
       } 

       Ticket obj = ViewModel.Ticket.ConvertToTicketBusiness(m); 
       obj.Requester = m.Requester.Email; 
       obj.TicketStatus = TicketStatus.Open.ToString(); 
       obj.Escalation = User.Identity.Name; 
       obj.CreatedBy = User.Identity.Name; 
       obj.CreatedDate = DateTime.Now; 
       obj.UpdatedBy = obj.CreatedBy; 
       obj.UpdatedDate = obj.CreatedDate; 
       if (obj.IsValid) 
       { 
        obj = obj.Save(); 
       } 

       Customer cust = ViewModel.Ticket.ConvertToCustomerBusiness(m.Requester); 

       if (string.IsNullOrEmpty(cust.CreatedBy)) 
       { 
        cust.CreatedBy = User.Identity.Name; 
        cust.CreatedDate = DateTime.Now; 
       } 

       cust.UpdatedBy = User.Identity.Name; 
       cust.UpdatedDate = DateTime.Now; 

       if (cust.IsValid) 
       { 
        cust = cust.Save(); 
       } 
       ctx.SaveChanges(); 
      } 
      ViewBag.SuccessMsg = "Success"; 
     } 
     catch (Exception ex) 
     { 
      ViewBag.ErrorMsg = ex.Message; 
      return View(m); 
     } 

     return RedirectToAction("Inbox"); 
    } 

谢谢

+0

你有没有把它放在模型本身的要求?如果是这样,你是否检查控制器上的ModelState? – scottdavidwalker

+0

yes已经设置了这样的视图模型'[Required(ErrorMessage =“Input is required。”)] public string FirstName {get;组; }'但关于ModelState,还没有,但已经检查我的对象isValid或不 – poli

+0

我可以看到控制器代码? – scottdavidwalker

回答

0

如果您想验证强制性的形式输入,请不要EditorFor(),如果你的MVC波纹管5.1,只是用TextBoxFor()谢谢

0

插入@像:@required="required"