title: DateTime required in ModelState, however never set to be
body: <p>I have a DateTime field in my form. For whatever reason, everytime I submit the form ModelState comes back as invalid and a message that my date time field (called PostDate) is required, even though in the view model I don't have the required attribute set.</p>
  
  <p>Does anyone know why this would be happening as I'm going around in circles trying to figure it out.   </p>
  
  <p>Here is the view model</p>
  
  <pre><code>public class BlogViewModel
          {
              [Required]
              public string Title { get; set; }
              [Required]
              public string Content { get; set; }
              public bool Published { get; set; }
              public DateTime PostDate { get; set; }
          }
  </code></pre>
  
  <p>Here is the controller actions</p>
  
  <pre><code>            public ActionResult Create()
              {
                  return View();
              } 
  
              //
              // POST: /Admin/Blog/Create
  
              [HttpPost]
              [ValidateInput(false)]
              public ActionResult Create(BlogViewModel model)
              {
                  if(ModelState.IsValid)
                  {
                      model.Content = HtmlSanitizer.SanitizeHtml(model.Content);
                      Services.BlogService.CreateBlogPost(model.Title, model.Content, User.Identity.Name);
                      return RedirectToAction("Index");
                  }
                  return View(model);
              }
  </code></pre>
  
  <p>Here is the View</p>
  
  <pre><code>    @using Payntbrush.Infrastructure.Mvc.Extensions
      @model Payntbrush.Presentation.Demo.MVC3.Areas.Admin.Models.BlogViewModel
  
      @Html.Resource(Html.ScriptTag("Areas/Admin/js/plugins/wysiwyg/jquery.wysiwyg.js"), ResourceType.Js)
  
  
      &lt;script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"&gt;&lt;/script&gt;
      &lt;script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"&gt;&lt;/script&gt;
  
      @using (Html.BeginForm((string)ViewBag.Action, "Blog", FormMethod.Post, new { Id = "BlogEditor" }))
      {
          @Html.ValidationSummary(true)
  
              &lt;div class="editor-label"&gt;
                  @Html.LabelFor(model =&gt; model.Title)
              &lt;/div&gt;
              &lt;div class="editor-field"&gt;
                  @Html.EditorFor(model =&gt; model.Title)
                  @Html.ValidationMessageFor(model =&gt; model.Title)
              &lt;/div&gt;
  
              &lt;div class="editor-label"&gt;
                  @Html.LabelFor(model =&gt; model.Content)
              &lt;/div&gt;
              &lt;div class="editor-field"&gt;
                  @Html.TextAreaFor(model =&gt; model.Content, new { @class = "wysiwyg blog-editor" })
                  @Html.ValidationMessageFor(model =&gt; model.Content)
              &lt;/div&gt;
  
              &lt;div class="editor-label"&gt;
                  Time of post (Only set this if you want to make a post appear to have been published at a different date.)
              &lt;/div&gt;
              &lt;div class="editor-field"&gt;
                  @Html.TextBoxFor(model =&gt; model.PostDate, new{@class="datetimepicker"})
                  @Html.ValidationMessageFor(model =&gt; model.PostDate)
              &lt;/div&gt;
  
              &lt;div class="editor-label"&gt;
                  Published (Check to make this post live on the site)
              &lt;/div&gt;
              &lt;div class="editor-field"&gt;
                  @Html.CheckBoxFor(model =&gt; model.Published)
                  @Html.ValidationMessageFor(model =&gt; model.Published)
              &lt;/div&gt;
  
              &lt;p&gt;
                  &lt;input class="large awesome" type="submit" value="Create" /&gt;
                  @Html.ActionLink("Cancel", "Index", "Blog", null, new { @class = "large awesome cancel-button" })
              &lt;/p&gt;
      }
  
      &lt;div&gt;
  
      &lt;/div&gt;
  </code></pre>