【发布时间】:2015-03-26 06:15:48
【问题描述】:
我有以下自定义验证属性,它派生自 StringLengthAttribute:
public class StringLengthLocalizedAttribute : StringLengthAttribute
{
public StringLengthLocalizedAttribute(int maximumLength) : base(maximumLength)
{
var translator = DependencyResolver.Current.GetService<ITranslator();
var translatedValue = translator.Translate("MaxLengthTranslationKey", ErrorMessage);
ErrorMessage = translatedValue.Replace("{MaxLength}", maximumLength.ToString());
}
}
此自定义属性的唯一目的是本地化 ErrorMessage。问题是,当我在模型中使用它时,它不会生成任何客户端验证,但标准的 StringLength 属性会生成。
我看不出我的属性有什么不同 - 因为它派生自 StringLength 属性,所以我不应该实现任何额外的功能来让客户端验证正常工作?
【问题讨论】:
标签: c# asp.net-mvc validation