title: Fluentvalidation with Custom Indexed Collection
body: <p>Recently I've been working on a decently complex UI in which I've had to adjust the default collection binding to use a 1 based collection instead of 0 based which ends up with inputs like the following when using Html.InputFor():</p>
  
  <pre><code> &lt;input name="Model.Collection[1].Options.SomeOption" id="Model_Collection_1__Options_SomeOption" /&gt;
   &lt;input name="Model.Collection[2].Options.SomeOption" id="Model_Collection_2__Options_SomeOption" /&gt;
  </code></pre>
  
  <p>Initially this does not work with way MVC's model binder works by default, but I came across this post by Phil Haack detailing how to use whatever you want for the model binder to bind to for the collection.<a href="http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/" rel="nofollow noreferrer">http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/</a>
  This made what I'm doing in the UI trivial, but now when I try to validate using fluent validation the name that fluent validation returns with the (correct) error message is index - 1. For instance, if in the above example Option1 is required and I leave it blank, fluent validation returns the name: </p>
  
  <pre><code> Model.Collection[0].Options.SomeOption
  </code></pre>
  
  <p>I am validating my collection using the following fluent validation code:</p>
  
  <pre><code>RuleFor(x =&gt; x.Collection).SetCollectionValidator(new OptionValidator());
  </code></pre>
  
  <p>What I'm wondering is if I'm screwed and have to rewrite the UI or if there's some way I can force the name fluentvalidation gives me to match the name in the UI.
  I'm using fluentvalidation version 6.4</p>
  
  <p>PS I've been looking at this frustrated for a while, so if the question isn't super clear or more information is needed forgive me, I can edit the question for more context if needed.</p>