title: Fluent validation when model contains property with array of objects
body: <p>I have a model like this</p>
  <pre class="lang-cs prettyprint-override"><code>class Model1
  {
      // other properties
      
      public IEnumerable&lt;Model2&gt; Models { get; set; }
      
      // other properties
  }
  
  class Model2
  {
      // other properties
      
      public IEnumerable&lt;Model3&gt; Models { get; set; } 
  
      // other properties
  }
  
  class Model3
  {
      public string[] Values { get; set; }    
  }
  </code></pre>
  <p>And I want to validate values from model3 to make sure there are no empty strings.</p>
  <p>How can I do that with fluent validation?</p>
  <p>I've tried this code but I can't validate each value from the Values property.</p>
  <pre class="lang-cs prettyprint-override"><code>public class Model1Validator : AbstractValidator&lt;Model1&gt;
  {
      public Model1Validator()
      {
          RuleForEach(x =&gt; x.Models)
              .ChildRules(x =&gt;
              {
                  // at this point I am unable to use x.ChildRules again
                  x.RuleFor(z =&gt; z.Models)
                      .NotEmpty(); // validates the array is not empty
              })
      }
  </code></pre>