【问题标题】:MVC validator for integer array in model模型中整数数组的 MVC 验证器
【发布时间】:2013-10-02 11:37:51
【问题描述】:

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

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

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

 public string[] Roles { get; set; }

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

【问题讨论】:

  • 你应该编写自定义验证属性

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


【解决方案1】:

编写自定义验证属性。

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 2017-07-28
      相关资源
      最近更新 更多