0

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

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

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

 public string[] Roles { get; set; }

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

4

2 回答 2

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; }
于 2013-10-02T12:22:38.703 回答
2

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

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

所以验证逻辑集中在一个地方,不会污染模型。

于 2013-10-02T12:26:11.847 回答