使用本地化字符串进行验证

发布于 2024-12-03 22:43:10 字数 248 浏览 0 评论 0原文

我正在尝试本地化 ASP MVC3 模型类中的验证消息。

[RegularExpression(@"^\d*$", ErrorMessage = "Has to be numeric.")]
public Int32? X{ get; set; }

我们必须使用给定资源处理程序中的方法从数据库中检索本地化字符串,因此不可能有公共资源文件。

执行此操作的首选方法是什么?

提前致谢!

I am trying to localize validation messages in an ASP MVC3 model class.

[RegularExpression(@"^\d*$", ErrorMessage = "Has to be numeric.")]
public Int32? X{ get; set; }

We have to retrieve the localized strings from a database using a method from a given resource handler, so no common resource files are possible.

What is the prefered way to do this?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情深已缘浅 2024-12-10 22:43:10

您可以在验证属性上设置资源键以及资源类型 (RESX)。

Required(ErrorMessageResourceName = "Required", 
           ErrorMessageResourceType = typeof(Resources.Validation))]
[DataType(DataType.Text)]
public string Name { get; set; }

请注意,一个限制是您使用的是自定义资源提供程序。不幸的是,没有提供插入此功能的规定。我想出了解决方案 此处,但如果您使用标准 RESX 方法,则没有必要。

You can set the resource key on the vaildation attribute, along with the resource type (RESX).

Required(ErrorMessageResourceName = "Required", 
           ErrorMessageResourceType = typeof(Resources.Validation))]
[DataType(DataType.Text)]
public string Name { get; set; }

Note one limitation is if you are using a custom resource provider. Unfortunately there's is no provision to plug this in. I came up with solution for this here, but if you are using standard RESX approach then it's not necessary.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文