I am trying to create a minimum length validation attribute which will force users to enter the specified minimum amount of characters into a textbox
    public sealed class MinimumLengthAttribute : ValidationAttribute
        {
            public int MinLength { get; set; }
            public MinimumLengthAttribute(int minLength)
            {
                MinLength = minLength;
            }
            public override bool IsValid(object value)
            {
                if (value == null)
                {
                    return true;
                }
                string valueAsString = value as string;
                return (valueAsString != null && valueAsString.Length >= MinLength);
  }
    }
In the constructor of the MinimumLengthAttribute I would like to set the error message as follows:
ErrorMessage = "{0} must be atleast {1} characters long"
How can I get the property's display name so that I can populate the {0} placeholder?
The {0} placeholder is automatically populated with the value for [Display(Name="<value>")] and if the [Display(Name="")] attribute doesn't exist then It will take the Name of the property.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With