2

例如,我有以下模型:

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"

有没有什么办法解决这一问题?

4

1 回答 1

0

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

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

于 2018-02-21T10:00:50.410 回答