模型中整数数组的MVC验证器

时间:2013-10-02 11:37:51

标签: asp.net-mvc-4 model-validation

我在我的模型中使用了验证者必填字段,如下所示及其工作

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

现在我有另一个整数数组类型属性

 public string[] Roles { get; set; }

我无法获得如何在整数数组上放置必需的字段验证器?

2 个答案:

答案 0 :(得分:2)

编写自定义验证属性。

我没有测试,但尝试这样的代码:

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; }

答案 1 :(得分:2)

我个人不喜欢使用属性进行模型验证,

您可以使用流畅的验证 http://fluentvalidation.codeplex.com/

因此验证逻辑在一个地方收集,不会污染模型。