Question

I have used validator required field in my model as follow and its working

  [Required(ErrorMessage = "Description is required.")]
        public string Description { get; set; }

Now i have another property of integer array type

 public string[] Roles { get; set; }

I am not able to get how can i put required field validator on integer array ?

Was it helpful?

Solution 2

Write a custom validation attribute.

I've not tested but try code like this :

public class RequiredArray : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        var list = value as IList;
        if (list != null)
        {
            return list.Count > 0;
        }
        return false;
    }
}

[RequiredArray (ErrorMessage = "Roles is required.")]
public string[] Roles{ get; set; }

OTHER TIPS

Personally i don't like using attributes for model validation,

You can use fluent validation http://fluentvalidation.codeplex.com/

So the validation logic is gathered at one place and doesn't pollute the model.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top