Mar*_*ill 5 validation silverlight-4.0 data-annotations
我想在我的Silverlight应用程序中使用数据注释来处理验证.内置的验证属性(主要是StringLength和Required)非常棒,让生活变得非常简单.然而,他们似乎有一个严重的缺陷.例如,如果我的语言环境设置为fr-CA,则验证例外仍为英语 - "名称字段是必需的","字段名称必须是最大长度为20的字符串"等.
这是一个主要问题.这意味着如果我想要内置验证属性的本地化错误消息,我必须手动将ErrorMessage/ErrorMessageResourceType添加到业务层中每个validatable属性的每个验证属性,并为每个错误消息手动添加已翻译的字符串.
所以......我在这里错过了一些东西吗?有没有办法自动将内置验证属性本地化?还是其他一些更简单的方法呢?或者我完全没有运气,并坚持手动路线?
任何意见或想法将不胜感激.
好吧,我通过简单地继承内置验证属性来解决这个问题.问题解决了!
internal class LocalizedStringLengthAttribute : StringLengthAttribute
{
public LocalizedStringLengthAttribute(int maximumLength)
: base(maximumLength)
{
}
public override string FormatErrorMessage(string name)
{
return String.Format(CultureInfo.CurrentUICulture, LanguageResources.Resource.Error_StringLength, name, MaximumLength);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1234 次 |
| 最近记录: |