默认模型绑定器的 MVC 本地化

2023-11-21

我目前正在尝试找出如何本地化 MVC 生成的错误消息。让我使用默认的模型绑定器作为示例,以便我可以解释问题。

假设我有一个表单,用户可以在其中输入他们的年龄。然后用户在表单中输入“十”,但没有得到预期的错误

“年龄必须在 18 岁至 25 岁之间。”

消息

“值‘十’对于年龄无效。”

被展示。

实体的年龄属性定义如下:

    [Range(18, 25, ErrorMessageResourceType = typeof (Errors), 
        ErrorMessageResourceName = "Age", ErrorMessage = "Range_ErrorMessage")]    
    public int Age { get; set; }

经过一番挖掘,我注意到这个错误文本来自System.Web.Mvc.Resources.DefaultModelBinder_ValueInvalid in the MvcResources.resx file.

现在,如何创建该文件的本地化版本?

作为一个解决方案,例如,我应该下载 MVC 源并添加MvcResources.en_GB.resx, MvcResources.fr_FR.resx, MvcResources.es_ES.resx and MvcResources.de_DE.resx,然后编译我自己的版本MVC.dll?

但我不喜欢这个主意。还有人知道更好的方法吗?


See http://forums.asp.net/p/1512140/3608427.aspx,向下滚动到该页面底部附近 Brad Wilson 的回复(2010 年 1 月 9 日星期六下午 3:20)。 DefaultModelBinder 上有一些静态属性,您可以设置它们来本地化通用错误消息。

使用通用错误消息而不是 [Range] 消息的原因是 [Range] 提供了验证错误消息,但这种特殊情况是binding错误。框架绝对不可能将字符串“ten”转换为 Int32,因此它甚至无法触发 [Range] 验证器。这就是该论坛中提到的“PropertyValueInvalid”键所控制的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

默认模型绑定器的 MVC 本地化 的相关文章

随机推荐

  • 将Lua嵌入到C++中

    我想编写一个可以在执行期间交互 调用 Lua 脚本的 C 程序 该程序的一个关键概念是完全的平台独立性 但我似乎无法找到真正提供这种功能的 Lua 构建 到目前为止我发现的 Lua 构建要么基于环境变量 要么基于特定的库 例如 lib dl
  • 在 PHP 的类属性中存储闭包函数

    好的 我有下面的代码 你可以看到它在这里运行http co
  • 子进程在父进程之后启动

    我有一个简单的代码来测试fork 功能 include
  • 如何使用 Java 以编程方式强制停止 Android 应用程序?

    如何使用 Java 强制停止应用程序 我正在尝试构建一个内存清理器 可以帮助清理后台进程 我知道有一种方法可以杀死应用程序的进程 但是当您进入正在运行的列表时 即使您杀死了它 该应用程序仍然存在 我尝试过很多类似的内存清理应用程序 只有其中
  • Python 3.x 的机械化

    有什么方法可以将 Mechanize 与 Python 3 x 一起使用吗 或者有什么可以在 Python 3 x 中工作的替代品吗 我已经搜索了几个小时 但没有找到任何东西 我正在寻找如何使用 Python 登录该网站的方法 但该网站使用
  • 是否可以查看Class文件的字节码? [复制]

    这个问题在这里已经有答案了 可能的重复 有没有java类文件 字节码编辑器来编辑指令 Java源代码被编译成字节码 实际上是在类文件中 是否可以查看已编译类的字节码 如果可以的话可以编辑吗 有没有可用的 eclipse 插件 是的 您可以使
  • 单个函数的两个可变参数模板?

    在 C 11 中 单个函数是否可以有两个可变参数模板 如果没有 有没有一个技巧可以写这样的东西 template
  • 使用 AVX512 生成掩模的 BMI

    我受到这个链接的启发https www sigarch org simd instructions considered harmful 了解 AVX512 的性能 我的想法是可以使用 AVX512 掩码操作删除循环后的清理循环 这是我正在
  • 使用 AspNetSqlMembershipProvider 的站点出现“SQLExpress 数据库文件自动创建错误”,但连接字符串指向 SQL Server 2005

    我有一个ASP NET v2 0网站 不是 Web 应用程序 其根目录是公共的 但 Admin 子目录需要身份验证 有关设置的所有内容都非常通用 我使用了根 web config 中定义的连接字符串和标准AspNetSqlMembershi
  • 递增 Integer 变量不会影响引用同一对象的另一个变量

    我一直理解静态变量在被引用时共享一个实例 我想对此进行测试 但结果与我的预期不同 static Integer counter 0 static Integer test counter public static void main St
  • 算法:优化“平衡括号”

    有人向我提出了以下问题 给定字符串 中的 N 个不同的左大括号和右大括号 检查该字符串是否有匹配的大括号 如果大括号匹配则返回 true 否则返回 false 这是我想出的答案 function braceeql braces var le
  • 如何以编程方式“重新启动”Android应用程序[重复]

    这个问题在这里已经有答案了 我正在尝试在我的应用程序中创建 注销 功能 基本上 通过注销 应用程序数据应该被清除 我想做的是注销后 应用程序应该重新启动 以便可以再次输入凭据等 我遇到的问题是 在用户单击 注销 时 应用程序已经有 3 4
  • AWS SQS FIFO - 如何一次获取超过 10 条消息?

    目前我们想要拉下一个整个 FIFO 队列 并处理内容 如果有任何问题 将消息释放回队列中 问题是 目前 AWS 只给我们 10 条消息 并且不会再给我们 10 条消息 这是在 SQS 中获取批量消息的方式 多个 10 条最大消息请求 直到我
  • 服务器推送数百万并发连接

    我正在构建一个分布式系统 该系统可能由数百万个客户端组成 这些客户端都需要保持开放 最好是 HTTP 连接以等待来自服务器 在其他地方运行 的命令 消息 命令的负载不会很高 可能是一条消息 秒 1000 个客户端 这意味着 1000 条消息
  • 什么是“结构黑客”和“类型/非类型隐藏”?

    我在参考参数 在范围内查找名称会找到该名称的所有声明 但有一个例外 称为 struct hack 或 类型 非类型隐藏 在同一范围内 名称的某些出现可能引用声明的一个class struct union enum那不是一个typedef 而
  • java中整数数组的优先级队列

    我想按数组 0 30 5 10 15 20 的第二个元素进行比较 PriorityQueue
  • Swift 3 中的 NSNotifications

    新通知目前在 Swift 3 中不起作用吗 我在做 NotificationCenter default post name DidTouchParticleView object self particle as AnyObject 在自
  • 为什么 NSManagedObjectContext 队列在主线程上执行?

    当我发送一个performBlock给我的 MOC 类型的消息NSPrivateQueueConcurrencyType 像这样 self privateManagedObjectContext performBlockAndWait if
  • 如何在Fragment内的WebView中添加“返回”功能?

    更新 解决了 问题与我的 Viewpager 有关 而不是与 WebView 有关 我正在尝试向我的应用程序添加 返回 功能WebView这是在一个Fragment 但我不知道如何 public final class TestFragme
  • 默认模型绑定器的 MVC 本地化

    我目前正在尝试找出如何本地化 MVC 生成的错误消息 让我使用默认的模型绑定器作为示例 以便我可以解释问题 假设我有一个表单 用户可以在其中输入他们的年龄 然后用户在表单中输入 十 但没有得到预期的错误 年龄必须在 18 岁至 25 岁之间