title: Returning Multiple ValidationResult in CustomValidationAttribute
body: <p>I am using only <code>C#</code> <code>System.ComponentModel.DataAnnotation</code> (no MVC)</p>
  <p>So <code>TryValidateObject</code> on an <code>MyInputModel</code> doesn't do these</p>
  <ol>
  <li>No List&lt;&gt; validation</li>
  <li>No iterative validation</li>
  </ol>
  <p>We need custom attributes. So I have <code>MyCustomListValidator</code> for the list but they can only return 1 <code>ValidationResult</code></p>
  <p>But  I may have to return the multiple errors for each List item in a single <code>ValidationResult</code> but <code>ValidationResult</code> only supports these</p>
  <ol>
  <li>Single Error message but multiple errornames</li>
  </ol>
  <p>My Sample Scenario:</p>
  <pre><code> [1]
      F1 invalid
      F3 invalid
      F4 invalid
  
  
  [2]
  
  
  
  [3]
      F1 invalid
      F4 invalid
      F5 Invalid
  </code></pre>
  <p><code>MyCustomListValidator</code></p>
  <ol>
  <li>Iterate each List item and do <code>TryValidateObject</code> which returns a list of validationresults</li>
  <li>Each of this list contains what all failed for that object (1 level) for 1 item of the list</li>
  <li>So Now I have 2 list 1st list with 2 ValidationResult and 2nd with 3 ValidationResult</li>
  </ol>
  <p>I have 2 solutions:</p>
  <ol>
  <li>Derieve from <code>ValidationResult</code> and have a list there and return this instance</li>
  <li>Do some stringbuilder of all results into a single error message and in MemberNames say index of the list for which it failed</li>
  </ol>
  <p>Both solution doesn't look right. I thought I could use <code>ValidationResult</code> IEnumerable but its for member names and not for errors. If it supports multiple errors also. I could use it. Does the <code>ComponentModel.DataAnnotation</code> offers something else that I am missing? Seems like a basic need that I might have overlooked. Don't want to use external libraries.</p>