title: Custom Validation Attribute error message not showing with ValidationMessageFor
body: <p>I have this custom validation :</p>
  
  <pre><code>[AttributeUsage(AttributeTargets.Property)]
  public class CollectionNotEmptyAttribute : ValidationAttribute
  {
      private const string errorMessage = "'{0}' must have at least one element.";
  
      public CollectionNotEmptyAttribute()
          : base(errorMessage)
      { 
  
      }
  
      public override bool IsValid(object value)
      {
          var collection = value as ICollection;
          if (collection != null)
          {
              return collection.Count &gt; 0;
          }
  
          return false;
      }
  
      public override string FormatErrorMessage(string name)
      {
          return String.Format(this.ErrorMessageString, name);
      }
  }
  </code></pre>
  
  <p>My viewmodel</p>
  
  <pre><code>public class ProjectViewModel
  {
      public ProjectViewModel()
      {
          this.Users = new Collection&lt;UserProjectViewModel&gt;();
      }
  
      public int ProjectID { get; set; }
      [CollectionNotEmpty]
      public Collection&lt;UserProjectViewModel&gt; Users { get; set; }
  }
  </code></pre>
  
  <p>My View</p>
  
  <pre><code>@Html.ValidationMessageFor(m =&gt; m.Users)
  </code></pre>
  
  <p>The validation is working fine, <code>Model.IsValid</code> returning false if collection count below 1, but the error message is not showing.</p>
  
  <p>Any help will be appreciated.</p>