我有两张桌子,广告系列和广告,有一对多的关系。在广告创建期间,用户选择广告将属于的预定义广告系列。 Campaign有一个RRP货币字段,而广告有一个SalePrice货币字段。我所追求的是一种确保提交的Advert.SalePrice为> =所选广告系列RRP的方法。
这可以在模型中完成吗?在Advert_Validation中有什么东西?甚至可以用方法调用填充Range的值吗?
[Range(0, getCampaignRRP(), ErrorMessage = "Value must be equal or greater than the Campaign RRP")]
public double SalePrice { get; set; }
或者我需要在控制器级别进行检查吗?所有帮助表示赞赏!
全心全意,
杰
答案 0 :(得分:2)
您可以使用新的Remote
属性。基本上它调用一个动作并返回true或false。这是一个link的示例。
答案 1 :(得分:0)
您可以继承RangeAttribute类并使用它。
public class MyRange: RangeAttribute
{
public override bool IsValid(object value)
{
//Your validation here.
return MyValidateRange(value, 0, getCampaignRRP());
}
}
[MyRange(0, 0, ErrorMessage = "Value must be equal or greater than the Campaign RRP")]
public double SalePrice { get; set; }