title: FluentValidation - Check value is a date only if NOT NULL
body: <p>I have a bool along with a nullable DateTime property.
  The DateTime is only required if the bool is set to true...
  And I want to validate the date if the bool is true.</p>
  <p>I have this expression so far...</p>
  <pre><code>When(p =&gt; p.HasVisa == true, () =&gt; RuleFor(p =&gt; p.VisaExpiryDate).NotNull());
  </code></pre>
  <p>Now I try to validate the date in that expression using the .Must extension and my custom BeAValidDate method...</p>
  <pre><code>When(p =&gt; p.HasVisa == true, () =&gt; RuleFor(p =&gt; p.VisaExpiryDate).NotNull().Must(BeAValidDate));
  
  private bool BeAValidDate(DateTime date)
  {
    if (date == default(DateTime))
      return false;
    return true;
  }
  </code></pre>
  <p>But the .Must extension doesn't allow me to operate on a DateTime that is nullable.
  How do I do this sort of validation on a nullable date?</p>