如果我执行以下操作:
public class CustomRangeAttribute : RangeAttribute
{
public override bool IsValid(object value)
{
return base.IsValid(value);
}
}
该方法按预期执行。 如果我这样做:
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
return base.IsValid(value, validationContext);
}
不调用该方法。为什么? sl3dg3
答案 0 :(得分:2)
如果您使用的是ASP.NET MVC 3.0 ,这完全符合您的预期。我自己尝试使用你的例子,它工作得很好 - 我得到一个非null的ValidationContext,它确实被调用。有关详细信息,请参阅here。所以这表明另一个原因(超出了令人敬畏的Razor引擎)升级到v.3.0。