如何使用数据注释在MVC模型中验证列表/数组计数?

问题描述 投票:0回答:2

如何验证MVC模型中的嵌套对象列表?

我有一个“项目”对象,该对象具有附加的收入条目列表:

public class ItemModel
{
    public int ItemID { get; set; }

    public virtual List<RevenueEntryModel> Revenues { get; set;}
}

此列表可以在页面上动态编辑,每个项目都使用其自己的模型-“ RevenueEntryModel”进行单独验证。但是,我希望能够限制用户输入没有任何收益的项目。

是否可以使用数据注释来验证此收入列表是否为空?我已经在使用Foolproof,但我很确定它不包含此功能。

c# asp.net-mvc validation asp.net-mvc-4 data-annotations
2个回答
0
投票

您可以应用自己的逻辑来检查“收入”集合中的项目数。

将类级别验证属性应用于ItemModel类。您可以为此使用System.ComponentModel.DataAnnotations.CustomValidationAttribute。

这指向您将创建的自定义方法。

属性构造看起来像这样:

[CustomValidation(typeof (MyClassWhereMethodIsLocated), "MyStaticMethodName")]

结帐this blog了解更多详细信息


0
投票

previous answer可以在这里为您提供帮助。这是一个彻底的答案,但是基本上您需要使用自定义验证属性:

© www.soinside.com 2019 - 2024. All rights reserved.