title: asp-validation-for tag helper is not working for server side validation errors
body: <p><strong>CustomerEntryModel</strong></p>
  
  <pre><code>    [Required]
      public String FirstName { get; set; }
  </code></pre>
  
  <p><strong>CustomerController.cs</strong></p>
  
  <pre><code>    [HttpGet]
      [Route("Get")]
      public IActionResult Get()
      {
          CustomerEntryModel model = new CustomerEntryModel();
          return View("CustomerEntry", model);
      }
  
      [HttpPost]
      [Route("Update")]
      public ActionResult Update([FromForm]CustomerEntryModel model)
      {
          if (!ModelState.IsValid)
          {
              return View("CustomerEntry", model);
          }
          return null;
      }
  </code></pre>
  
  <p><strong>CustomerEntry.cshtml</strong></p>
  
  <pre><code>@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers"
  &lt;form asp-controller="Customer" asp-action="Update" method="post"&gt;
      &lt;input type="text" asp-for="FirstName" /&gt;
      &lt;span asp-validation-for="FirstName" /&gt;
      &lt;input type="submit" value="Submit" /&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>I do not include the jQuery validation libraries, so the validation occurs on the server side. Now, when I submit the page with first name empty, the update action gets executed and I receive back the same view, but without any error.</p>
  
  <p>Instead of <code>&lt;span asp-validation-for="FirstName" /&gt;</code> tag helper, if I use the html helper <code>@Html.ValidationMessageFor(m =&gt; m.FirstName)</code> I get the required error for first name.</p>
  
  <p>As per my understanding <code>TagHelper</code> extends the behavior of traditional <code>HtmlHelper</code> to provide HTML friendly development experience. That means, something that works with <code>HtmlHelper</code> has to work with it's <code>TagHelper</code> counterpart.</p>
  
  <p>After the <code>ModelState.IsValid</code> call, I CAN see <code>Controller.ModelState</code> (instance of <code>ModelStateDictionary</code>), having the error for <code>FirstName</code> property. However, the <code>TagHelper</code> isn't able to bind it.</p>
  
  <p>You can find the MVC6 validation tag helpers detail here,</p>
  
  <p><a href="http://www.davepaquette.com/archive/2015/05/14/mvc6-validation-tag-helpers-deep-dive.aspx" rel="noreferrer">http://www.davepaquette.com/archive/2015/05/14/mvc6-validation-tag-helpers-deep-dive.aspx</a></p>