【发布时间】:2014-02-18 09:27:05
【问题描述】:
例如我有以下型号:
public class MyModel {
public Line[] Lines{get;set;}
}
public class Line {
public int Quantity{get;set;}
public int MaxQuantity{get;set;}
}
“数量”字段应该小于“最大数量”,所以我尝试使用“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"”
有没有办法解决这个问题?
【问题讨论】:
-
您是否使用 html 助手来呈现这些输入标签?
-
@Cris:是的,我使用 html 助手
标签: c# asp.net asp.net-mvc validation foolproof-validation