Asp.net mvc 使用范围内的db值进行模型验证
我有两张桌子,一对多关系的活动和广告。在创建广告期间,用户选择广告将属于的预定义活动。活动有一个RRP货币字段,广告有一个SalePrice货币字段。我想要的是确保提交的Advert.SalePrice>=所选的活动RRP的方法 这可以在模型中完成吗?在广告中有类似的东西吗?甚至可以用方法调用填充范围的值吗Asp.net mvc 使用范围内的db值进行模型验证,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我有两张桌子,一对多关系的活动和广告。在创建广告期间,用户选择广告将属于的预定义活动。活动有一个RRP货币字段,广告有一个SalePrice货币字段。我想要的是确保提交的Advert.SalePrice>=所选的活动RRP的方法 这可以在模型中完成吗?在广告中有类似的东西吗?甚至可以用方法调用填充范围的值吗 [Range(0, getCampaignRRP(), ErrorMessage = "Value must be equal or greater than the Campaign RR
[Range(0, getCampaignRRP(), ErrorMessage = "Value must be equal or greater than the Campaign RRP")]
public double SalePrice { get; set; }
还是需要在控制器级别进行检查?感谢大家的帮助
谢谢大家
Jay您可以使用新的
Remote
属性。基本上,它调用一个动作并返回true或false。下面是一个示例。您可以继承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; }