Alex Rivera | Logout

Min/Max-value validators in asp.net mvc

Asked 2011-08-31T12:12:13.913
126

Validation using attributes in asp.net mvc is really nice. I have been using the [Range(min, max)] validator this far for checking values, like e.g.:

[Range(1, 10)]
public int SomeNumber { get; set; }

However - now I need to check the min and max condition separately. I expected to find attributes like these:

[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }

Are there any predefined attributes for writing this? Or how do I achieve this?

Edit
Report

1 Answer

60

Here is how I would write a validator for MaxValue

public class MaxValueAttribute : ValidationAttribute
    {
        private readonly int _maxValue;

        public MaxValueAttribute(int maxValue)
        {
            _maxValue = maxValue;
        }

        public override bool IsValid(object value)
        {
            return (int) value <= _maxValue;
        }
    }

The MinValue Attribute should be fairly the same

answered 2011-08-31T12:22:52.493

Your Answer