title: Fluent Validation WithMessage not working correctly with a SetValidator
body: <p>I have successfully used WithMessage in the following form:</p>
  
  <pre><code>RuleFor(p =&gt; p.MyField)
               .NotEmpty()                            
               .WithMessage("{0} is Required",
                                  p =&gt; p.SomeOtherField
                              );
  </code></pre>
  
  <p>This allows the value of SomeOtherField to be used in the error message.</p>
  
  <p>I have a more complex requirement, where I use SetValidator with my own custom PropertyValidator as follows:</p>
  
  <p>What I thought would work was the following:</p>
  
  <pre><code>RuleFor(x =&gt; x.MyField)                
              .SetValidator(
                      new RemoteValidator(                            
                          "Validate", 
                          "Home", 
                          System.Web.Mvc.HttpVerbs.Post, 
                          "*.SomeOtherProperty1,*.SomeOtherProperty2")
              )
              .WithMessage("{0} is not valid",
                                  p =&gt; p.MyOtherField
                              )
              ;
  </code></pre>
  
  <p>...but it does not. When the validation fails, I get the message:</p>
  
  <blockquote>
    <p>{0} is not valid</p>
  </blockquote>
  
  <p>eg. the {0} is not replaced</p>
  
  <p>Any ideas?</p>
  
  <p>From <a href="https://fluentvalidation.codeplex.com/wikipage?title=Customising" rel="nofollow">here</a> I found the concept of PropertyNameResolver which sounds like it might fit, but I cannot figure out how to configure this. The example on that link gives:</p>
  
  <pre><code>ValidatorOptions.PropertyNameResolver = (type, member) =&gt; {
    if(member != null) {
       return member.Name + "Foo";
    }
    return null;
  };   
  </code></pre>
  
  <p>I'm using Fluent Validations v5.6.2.</p>