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

本文关键字:列表 数组 模型 何使用 数据 注释 MVC 验证 | 更新日期: 2023-09-27 17:49:40

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

我有一个"Item"对象,它有一个附加的收入条目列表:

public class ItemModel
{
    public int ItemID { get; set; }
    public virtual List<RevenueEntryModel> Revenues { get; set;}
}

这个列表可以在页面上动态编辑,并且每个条目都使用它自己的模型"RevenueEntryModel"单独验证。但是,我希望能够限制用户在没有任何收入的情况下输入物品。

是否有可能验证这个收入列表是否为空使用数据注释?我已经在用Foolproof了,但我很确定它不包括这个功能。

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

前面的一个答案会对您有所帮助。这是一个完整的答案,但基本上您需要使用自定义验证属性:

您可以应用自己的逻辑来检查revenue集合中的项数。

对ItemModel类应用类级验证属性。您可以使用System.ComponentModel.DataAnnotations.CustomValidationAttribute。

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

属性结构看起来像这样:

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

查看此博客了解更多详细信息