title: How to validate Date in ClientSide using FluentValidation?
body: <p><strong>Question</strong></p>
  
  <p>The below code is working fine <code>Server</code> side and not Client side. Why ?</p>
  
  <p><br>
  When I submit the form, control goes to <code>BeAValidDate</code> function to check the date is valid or not. Is there any way to <code>Validate</code> the date without going to server using <code>Fluent Validation</code>?</p>
  
  <p><strong>Scripts</strong></p>
  
  <pre><code>&lt;script src="jquery-1.7.1.min.js" type="text/javascript"&gt;&lt;/script&gt;
  &lt;script src="jquery.validate.js" type="text/javascript"&gt;&lt;/script&gt;
  &lt;script src="jquery.validate.unobtrusive.js" type="text/javascript"&gt;&lt;/script&gt;
  </code></pre>
  
  <p><strong>Model</strong></p>
  
  <pre><code>public class PersonValidator : AbstractValidator&lt;Person&gt;
  {
      public PersonValidator()
      {
          RuleFor(x =&gt; x.FromDate)
              .NotEmpty()
              .WithMessage("Date is required!")
              .Must(BeAValidDate)
              .WithMessage("Invalid Date");
      }
  
      private bool BeAValidDate(String value)
      {
          DateTime date;
          return DateTime.TryParse(value, out date);
      }
  }
  </code></pre>
  
  <p><strong>Controller</strong></p>
  
  <pre><code>public class PersonController : Controller
  {
      public ActionResult Index()
      {
         return View(new Person { FromDate = DateTime.Now.AddDays(2).ToString()});
      }
  
      [HttpPost]
      public ActionResult Index(Person p)
      {
          return View(p);
      }
  }
  </code></pre>
  
  <p><strong>View</strong></p>
  
  <pre><code>@using (Html.BeginForm("Index", "Person", FormMethod.Post))
  {   
      @Html.LabelFor(x =&gt; x.FromDate)
      @Html.EditorFor(x =&gt; x.FromDate)
      @Html.ValidationMessageFor(x =&gt; x.FromDate)
  
      &lt;input type="submit" name="Submit" value="Submit" /&gt;
  }
  </code></pre>