title: DateTime time is validated as date and time
body: <p>So I have this form where the user can enter in a start time and end time (for a booking). The values in the database are DateTimes, but the Date part is completely ignored. Currently, when I enter in eg. "5:00 pm" (through a jQuery time picker), it says this is not a valid date. If I type "30/1/2013 5:00 pm" it accepts this as valid... How do I change this behaviour to only validate as a time? (or if that's not ideal, how can I completely turn validation off for that field - I'll manually handle validation in the controller)</p>
  
  <p>I saw this: <a href="http://connect.microsoft.com/VisualStudio/feedback/details/705643/a-data-val-date-attribute-is-generated-for-time-fields-in-asp-net-mvc-4#" rel="nofollow">http://connect.microsoft.com/VisualStudio/feedback/details/705643/a-data-val-date-attribute-is-generated-for-time-fields-in-asp-net-mvc-4#</a> but Microsoft claims it has been fixed; not sure if this is the same problem. I don't want to change the database definition to TimeSpan because I believe it will muck up the existing data (it will won't it?).</p>
  
  <p><strong>Controller:</strong>  </p>
  
  <pre><code>[HttpPost]
      public ActionResult Create(BookingDetailsDate bookingdetailsdates) //, FormCollection collection)
      {
          if (ModelState.IsValid)
          {
              try
              {
                  //bookingdetailsdates.StartTime = DateTime.Parse(collection["StartTime"]); // TODO: do this better
                  //bookingdetailsdates.EndTime   = DateTime.Parse(collection["EndTime"]);
                  bookingdetailsdatesRepository.Add(bookingdetailsdates);
                  bookingdetailsdatesRepository.Save();
                  return RedirectToAction("Index", new { id = bookingdetailsdates.BookingDetailsID });
              }
              catch { }
          }
          return View(bookingdetailsdates);
      }
  </code></pre>
  
  <p><strong>View:</strong></p>
  
  <pre><code>@using (Html.BeginForm()) {
  @Html.ValidationSummary(true)
  &lt;fieldset&gt;
      &lt;legend&gt;&lt;/legend&gt;
  ...
      @Html.EditorFor(model =&gt; model.StartTime)
  
      @Html.EditorFor(model =&gt; model.EndTime)
  
      &lt;p&gt;
          &lt;input type="submit" value="Save" /&gt;
      &lt;/p&gt;
  &lt;/fieldset&gt;
  }
  </code></pre>
  
  <p><strong>Editor Template:</strong></p>
  
  <pre><code>&lt;div class="editor-label"&gt;
      @Html.LabelFor(m =&gt; m)
  &lt;/div&gt;
  &lt;div class="editor-field"&gt;
      @if (Model.HasValue==true)
      {
          @Html.TextBox("", Model.Value.ToShortTimeString(), new { @class = "TimePicker" })
      }
      else
      {
          @Html.TextBoxFor(m =&gt; m, new { @class = "TimePicker" })
      }
  
      @Html.ValidationMessageFor(m =&gt; m)
  
  &lt;/div&gt;
  </code></pre>