【发布时间】:2010-09-10 17:13:18
【问题描述】:
我有 2 个属性 整数最小值 整数最大值 我必须创建一个数据注释属性来验证这一点 它应该说 1) 如果 MinValue 和 MaxValue 不为零,则“MinValue 应小于 MaxValue”。 2)如果 MinValue 和 MaxValue 都为零(0),则不应比较这两个值。
您为实现这一目标而提出的任何意见都将帮助我确保这样做
【问题讨论】:
标签: asp.net-mvc-2
我有 2 个属性 整数最小值 整数最大值 我必须创建一个数据注释属性来验证这一点 它应该说 1) 如果 MinValue 和 MaxValue 不为零,则“MinValue 应小于 MaxValue”。 2)如果 MinValue 和 MaxValue 都为零(0),则不应比较这两个值。
您为实现这一目标而提出的任何意见都将帮助我确保这样做
【问题讨论】:
标签: asp.net-mvc-2
您可以编写一个源自ValidationAttribute 的自定义验证器属性
[AttributeUsage(AttributeTargets.Class)]
public class CustomValidateAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
var model = (MyModel)value;
return model.MinValue < model.MaxValue;
}
}
并用这个自定义属性装饰你的模型:
[CustomValidate]
public class MyModel
{
public decimal MinValue { get; set; }
public decimal MaxValue { get; set; }
}
【讨论】: