Asp.net mvc Razor视图表验证

Asp.net mvc Razor视图表验证,asp.net-mvc,validation,razor,Asp.net Mvc,Validation,Razor,我有一个元素表,用户为每一行输入一个数字。我想验证用户输入的数字加起来是否为100,如果没有,则显示一条消息 以下是我的看法 <form asp-action="CreateResource"> <table class="table table-bordered table-condensed table-hover" id="tbFunds"> <thea

我有一个元素表,用户为每一行输入一个数字。我想验证用户输入的数字加起来是否为100,如果没有,则显示一条消息

以下是我的看法

    <form asp-action="CreateResource">
        <table class="table table-bordered table-condensed table-hover" id="tbFunds">
            <thead>
                <tr>
                    <th>
                        Fund Name
                    </th>
                    <th>
                        Percentage
                    </th>
                </tr>
            </thead>
            @for (int i = 0; i < Model.FundItems.Count; i++)
            {
                <tr>
                    <td>
                        @Html.Label(Model.FundItems[i].FundName)
                    </td>
                    <td>
                        @Html.HiddenFor(x => Model.FundItems[i].FundId)
                        @Html.EditorFor(x => Model.FundItems[i].Percentage)
                    </td>
                </tr>
            }
        </table>
        <div class="form-group">
            <input type="submit" value="Create" class="btn btn-primary" />
        </div>
    </form>

基金名称
百分比
@对于(int i=0;iModel.FundItems[i].FundId)
@EditorFor(x=>Model.FundItems[i].Percentage)
}
还有我的模特

public class CreateResource
{
    [Required]
    [StringLength(100)]
    [Display(Name = "Resource Name")]
    public string ResourceName { get; set; }        
    public List<CreateResourceFundItem> FundItems { get; set; }
}

public class CreateResourceFundItem
{
    public Guid FundId { get; set; }

    [Display(Name = "Fund Name")]
    public string FundName { get; set; }

    [Required]
    [Display(Name = "Percentage")]
    public int Percentage { get; set; }
} 
公共类CreateResource
{
[必需]
[长度(100)]
[显示(Name=“资源名称”)]
公共字符串ResourceName{get;set;}
公共列表项{get;set;}
}
公共类CreateResourceFundItem
{
公共Guid FundId{get;set;}
[显示(Name=“基金名称”)]
公共字符串FundName{get;set;}
[必需]
[显示(Name=“百分比”)]
公共整数百分比{get;set;}
} 
我尝试像这样使用DataAnnotationExtensions.EqualTo属性,但没有成功

public class CreateResource
{
    [Required]
    [StringLength(100)]
    [Display(Name = "Resource Name")]
    public string ResourceName { get; set; }        
    public List<CreateResourceFundItem> FundItems { get; set; }

    [EqualTo("Total", ErrorMessage ="Percentages must add up to 100")]
    public int ItemsTotal { get { return FundItems.Sum(x => x.Percentage); } }
    public int Total { get { return 100; } }
}
公共类CreateResource
{
[必需]
[长度(100)]
[显示(Name=“资源名称”)]
公共字符串ResourceName{get;set;}
公共列表项{get;set;}
[EqualTo(“Total”,ErrorMessage=“百分比加起来必须等于100”)]
public int ItemsTotal{get{return FundItems.Sum(x=>x.Percentage);}
公共整数总计{get{return 100;}}
}
你认为解决这个问题的最好办法是什么