【问题标题】:Checking if a date picker value is less than todays date MVC检查日期选择器值是否小于今天的日期 MVC
【发布时间】:2014-05-01 22:58:03
【问题描述】:

我正在 MVC4 中构建应用程序,我试图确保当用户从日期选择器输入日期并提交表单时,输入的日期不小于今天的日期。

这是我的模型:

 public class Job
{

    [Required]
    [DisplayName("Target Date for Site Survey")]
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
    public DateTime? TargetDateSurvey { get; set; }

}

我的控制器:

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create(Job job)
    {
        if (ModelState.IsValid)
        {
            job.CreatedDate = DateTime.Now;
            job.JobstatusID = 1;
            db.Jobs.Add(job);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        ViewBag.ClientID = new SelectList(db.Clients, "ClientID", "ClientName", job.ClientID);
        ViewBag.JobstatusID = new SelectList(db.JobStatusLookUps, "JobstatusID", "JobStatusDescription", job.JobstatusID);
        ViewBag.JobID = new SelectList(db.AssignAssessors, "JobID", "JobID", job.JobID);
        return View(job);
    }

并查看:

@model fieldManagementSystem.Models.Job

                <div class="editor">
                    @Html.LabelFor(model => model.TargetDateSurvey)
                    @Html.EditorFor(model => model.TargetDateSurvey)
                    @Html.ValidationMessageFor(model => model.TargetDateSurvey)
                </div>

我会在哪里验证模型或控制器?最好的方法是什么?

任何指导将不胜感激

【问题讨论】:

    标签: c# asp.net asp.net-mvc-4


    【解决方案1】:

    在控制器中验证它相当简单。您添加一个自定义的无效状态,然后 ModelState 将采取相应的行动。

    public ActionResult Create(Job job)
    {
        if (job.TargetDateSurvey.Value < DateTime.Today)
        {
            ModelState.AddModelError("TargetDateSurvey", "Date must be today or later.");
        }
    
        if (ModelState.IsValid)
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-24
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 2012-01-29
      相关资源
      最近更新 更多