ASP.NET MVC。是否可以使用MVC Foolproof Validation进行阵列验证?

时间:2014-02-18 09:27:05

标签: c# asp.net asp.net-mvc validation foolproof-validation

E.g。我有以下型号:

public class MyModel {
public Line[] Lines{get;set;}
}

public class Line {
public int Quantity{get;set;}
public int MaxQuantity{get;set;}
}

“数量”字段应小于“MaxQuantity”,因此我尝试使用“LessThanOrEqualTo”验证属性:

public class Line {
[LessThanOrEqualTo("MaxQuantity")]
public int Quantity{get;set;}
public int MaxQuantity{get;set;}
}

但它在客户端不起作用,因为我相信错误的依赖属性名称:

<input type="number" value="1" name="Lines[0].Quantity" data-val-is-passonnull="False" data-val-is-operator="LessThanOrEqualTo" data-val-is-dependentproperty="MaxQuantity" data-val-is="Quantity must be less than or equal to MaxQuantity." data-val="true">
<input type="hidden" value="1" name="Lines[0].MaxQuantity">

您可以看到“data-val-is-dependentproperty="MaxQuantity"”,但实际输入名称为“Lines[0].MaxQuantity"

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您是否在视图或母版页中包含了mvcfoolproof.unobtrusive.min.js? 您是否在代码使用之前检查了脚本是否已加载?

使用我的Foolproof Nuget安装,它被放置在Foolproof Nuget安装的“Client Scripts”文件夹中。