gpt4 book ai didi

validation - 银光 4 : Localization of built-in data annotation validation exceptions

转载 作者:行者123 更新时间:2023-12-04 18:52:47 25 4
gpt4 key购买 nike

我想使用数据注释来处理我的 Silverlight 应用程序中的验证。内置的验证属性(主要是 StringLength 和 Required)很棒,让生活变得非常简单。然而,他们似乎有一个严重的缺陷。例如,如果我的语言环境设置为 fr-CA,则验证异常仍为英文 - 'The Name 字段是必需的'、'The Field Name must be a string with a maximum length of 20' 等。

这是一个主要问题。这意味着如果我想要内置验证属性的本地化错误消息,我必须手动将 ErrorMessage/ErrorMessageResourceType 添加到业务层中每个可验证属性的每个验证属性,并手动为每个错误消息添加翻译的字符串。

所以......我在这里错过了什么吗?有没有办法自动本地化内置验证属性?或者其他一些更简单的方法来做到这一点?或者我只是完全不走运,并坚持手动路线?

任何评论或想法将不胜感激。

最佳答案

好的,我通过简单地对内置验证属性进行子类化来解决这个问题。问题解决了!

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);
}
}

关于validation - 银光 4 : Localization of built-in data annotation validation exceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3637357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com