title: Creating a custom ValidationAttribute class that returns multiple error messages
body: <p>I have a model like this:</p>
  
  <pre><code>[IsValidInput]
  public class Input
  {
      //different properties
  }
  </code></pre>
  
  <p>With a custom validation attribute like this:</p>
  
  <pre><code>[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
  public class IsValidInput : ValidationAttribute
  {
      public override bool IsValid(object value)
      {
          try
          {
              ExternalValidator.Validate(value);
          }
          catch (CustomException ex)
          {
              foreach(var errorText in ex.GetDescriptions())
              {
                  this.ErrorMessage = this.ErrorMessage + errorText;
              }
              return false;
          }
          return true;
      }
  }
  </code></pre>
  
  <p>Now I have one ErrorMessage object that contains multiple errors. I want to somehow return multiple ErrorMessage objects, so that in my view I will have a list with multiple list-items, like this: </p>
  
  <ul>
  <li> Validation error 1</li>
  <li> Validation error 2</li>
  </ul>
  
  <p>How can I return a list of ErrorMessages to archieve this?</p>