MVC 4 忽略 DefaultModelBinder.ResourceClassKey

2023-12-22

添加资源文件到App_GlobalResources with a PropertyValueRequired关键和变化DefaultModelBinder.ResourceClassKey文件名对 MVC 4 没有影响。字符串The {0} field is required从未改变。 我不想在每个必填字段上设置资源类类型和键。 我错过了什么吗?

Edit:

我对 Darin Dimitrov 的代码做了一个小修改,以保持所需的自定义功能正常工作:

public class MyRequiredAttributeAdapter : RequiredAttributeAdapter
{
    public MyRequiredAttributeAdapter(
        ModelMetadata metadata,
        ControllerContext context,
        RequiredAttribute attribute
    )
        : base(metadata, context, attribute)
    {
        if (attribute.ErrorMessageResourceType == null)
        {
            attribute.ErrorMessageResourceType = typeof(Messages);
        }
        if (attribute.ErrorMessageResourceName == null)
        {
            attribute.ErrorMessageResourceName = "PropertyValueRequired";
        }
    }
}

这不是 ASP.NET MVC 4 所特有的。在 ASP.NET MVC 3 中也是如此。您无法使用以下命令设置所需的消息DefaultModelBinder.ResourceClassKey, 只有PropertyValueInvalid.

实现您正在寻找的目标的一种方法是定义一个自定义RequiredAttributeAdapter:

public class MyRequiredAttributeAdapter : RequiredAttributeAdapter
{
    public MyRequiredAttributeAdapter(
        ModelMetadata metadata,
        ControllerContext context,
        RequiredAttribute attribute
    ) : base(metadata, context, attribute)
    {
        attribute.ErrorMessageResourceType = typeof(Messages);
        attribute.ErrorMessageResourceName = "PropertyValueRequired";
    }
}

您将在其中注册Application_Start:

DataAnnotationsModelValidatorProvider.RegisterAdapter(
    typeof(RequiredAttribute),
    typeof(MyRequiredAttributeAdapter)
);

现在,当非空字段未分配值时,错误消息将来自Messages.PropertyValueRequired where Messages.resx必须在内部定义App_GlobalResources.

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

MVC 4 忽略 DefaultModelBinder.ResourceClassKey 的相关文章

  • 如何添加没有值的属性

    我通过 html 助手和 TagBuilder 生成 HTML 文本框 我们有方法 TagBuilder Attributes Add key value 但对于 HTML5 required 属性不需要传递值 因此如果我传递空字符串 则输
  • Web 文本编辑器中的 RTF 格式

    网络上是否有支持 RTF 格式文档输入的文本编辑器 我知道这对 webdev 来说有点奇怪 但我需要从数据库中读取 RTF 文档 并在基于 Web 的文本编辑器中对其进行编辑 然后将其存储回 RTF 中 在我在转换工具上投入太多资金之前 我
  • 使用 Ajax Jquery post 请求进行 Json 劫持

    昨天 我读了一些关于如何预防的好文章使用 Asp Net MVC 进行 Json 劫持 http haacked com archive 2009 06 24 json hijacking aspx 规则是 永远不要通过 get 请求发送
  • 从 SQLCE 4 迁移到 SQL Server 2008

    因此 作为早期采用者 我开发了一个基于 SQLCE4 ASP Net MVC3 和实体框架CTP5 http www microsoft com downloads en details aspx FamilyID 35adb688 f8a
  • 从 ASP.NET MVC 将 HTML 表导出到 Excel

    我目前正在使用 ASP NET MVC 并且有一个操作方法 可以在视图中以表格格式显示一些报告 我需要通过单击视图中的按钮将同一个表导出到 Excel 文档 如何才能实现这一目标 您将如何为此创建 Action 方法 在您的控制器操作中 您
  • Chrome“请匹配请求的格式”验证消息

    我正在研究 HTML 5 验证和本地化 并设法让一些代码正常工作 使我能够本地化 HTML 5 验证错误消息 见下文 我的问题是 在 Chrome 中 当与模式匹配时 您仍然会弹出英语 或者我猜您 Chrome 设置的任何语言 的弹出窗口
  • SQL Server中主键和唯一索引的区别[重复]

    这个问题在这里已经有答案了 我的公司目前正在重写我们最近获得的一个应用程序 我们选择使用 ASP net mvc4 来构建这个系统 并使用实体框架作为我们的 ORM 我们收购的公司的前任所有者非常坚定地要求我们使用他们的旧数据库 并且不对其
  • Global.asax 和 Error.aspx 中的 ASP.NET MVC 错误日志记录

    我正在创建一个 ASP NET MVC 应用程序 我需要在两个地方处理异常 Global asax vb 文件 Public Class MvcApplication Inherits System Web HttpApplication
  • 使用 MVC3 根据 Highchart 条形图中的值更改条形颜色

    我正在使用 Dotnet Highchart 和 MVC3 我目前正在使用一个如下所示的图表 我正在尝试修改我的代码 以便我可以根据条形的数量更改条形的颜色 我还想知道如何删除按钮 Snittbetyg 正如您在图像上看到的那样 这是我的代
  • 使用 AJAX 加载的 Javascript 和 MVC4 部分视图

    我有一个 ASP NET MVC 4 视图 可以动态地将两个嵌套部分加载到 div 通过 JQuery AJAX 调用的元素 每个部分都有一大堆自己的 Javascript 为了让它全部正常工作 我目前将所有 Javascript 都放在s
  • ASP.NET MVC 4 RC 与温莎城堡

    我正在查看 ASP NET MVC 4 RC 但找不到 DefaultHttpControllerFactory 甚至 IHttpControllerFactory 来允许我选择的 IoC 容器 Castle Windsor 连接到 Web
  • 将 Json 数据返回给 Ajax 调用

    我在 MVC 中有一个方法 我将其发布到它 并且我需要返回一些数据以进行处理 这是我发布到的 MVC 方法 返回值是 json 数据 HttpPost public JsonResult GetCalculateAmortizationSc
  • App_Web_XXX.dll 中发生 System.NullReference 异常 - 部分视图中出现错误

    当登陆我的 MVC 页面之一时 我收到此错误 dll 名称中包含随机字符串 类型的第一次机会异常系统 NullReferenceException发生在 App Web cjmhrrqn dll 中 附加信息 未将对象引用设置为对象的实例
  • mvc 4下拉默认值选择

    我想在下拉列表中选择默认值 其中policyId 7 但它没有选择该值 我做错了什么 控制器 var pm new ManagerClass IEnumerable
  • 在 ASP.NET MVC 中使用 MySQL 的 AccountController

    在 Visual Studio 中创建默认的 ASP NET MVC 项目会设置一个可以在其中注册用户的基本项目 我将如何继续更改它以使用 MySQL 服务器而不是 SQLServer 现在可以使用了 安装最新的 Connector NET
  • 将 Angularjs 动态绑定到新创建的 html 元素

    我有一个带有多个选项卡的选项卡页面 一旦单击调用服务即可返回一些数据 其中一些数据返回 html 表单并且非常随机 我想收集输入的这些值并通过服务将数据发送回服务器 我遇到的问题是我无法从我动态创建的 html 中的输入元素获取数据 我创建
  • 模拟 DBSet,EF 模型优先

    正如标题所说 我遵循模型优先方法 所以我的模型类是自动生成的 如果我想嘲笑DBContext衍生的MyModelContainer其中包含DBSets实体类 阅读一些内容 为了进行单元测试 您需要将其更改为IDBSet 是否可以做到这一点
  • ASP.NET MVC - 更新生产中的预编译 Razor View 文件

    我想知道以下是否可能 通过在 Visual Studio 中打开项目设置 使用我们的 MVC 应用程序预编译 Razor 视图 将应用程序部署到生产环境 然后在稍后阶段 通过覆盖生产中现有的 cshtml 文件来更新视图 而无需回收应用程序
  • 为什么这条路线不匹配

    我在获取匹配路线时遇到一些问题 我使用 base 32 编码的 int 作为 Web 应用程序中幻灯片的短链接 每个幻灯片有 5 个不同的版本 我使用首字母来区分每个版本 路由始终匹配 除非 Base 32 编码 int 的第一个字符与指定
  • MVC ASP.NET 或 Razor

    我对 MVC 很陌生 我对 Silver light WPF 和 MVVM 有相当多的了解 但对 MVC 知之甚少 我正在按照 Microsoft 网站上的主要教程进行操作http www asp net mvc tutorials get

随机推荐

  • 经典 asp:错误“800a01ad”ActiveX 组件无法创建对象

    Getting 800a01ad ActiveX 组件无法创建对象在 64 位 Windows 7 上运行经典 ASP 应用程序时 我已尝试了所有建议的解决方案 但没有成功 我已在 IIS 应用程序池上启用 32 位 我已经使用C wind
  • android ICS 中的“BasicDream”是什么?

    我看了Launcher源码 版本是ICS 有一个RocketLauncher扩展的类BasicDream 什么是BasicDream 什么可以BasicDream做 我可以找到这条线import android support v13 dr
  • CIFilter输出图像nil

    我正在使用核心图像 并将 CIFilter 棕褐色色调应用于我的图像 我在 viewDidLoad 中运行一次过滤器 然后立即调用另一个再次添加过滤器的函数 由于某种原因 当我尝试访问输出图像时 应用程序崩溃并表示输出图像为零 有谁知道为什
  • WPF ComboBox 下拉菜单阻止单击其他控件

    我有一个像这样的简单表格 我打开组合框 当下拉列表打开时 我单击按钮 单击按钮时 我显示一条简单的消息 但当时未显示该消息 当我再次点击它时它会显示 文本框也有同样的问题 当下拉菜单打开时 文本框单击不起作用 为什么组合框在打开时阻止单击其
  • 如何导出每个键的数据表?

    让我们考虑一下数据表 gt dt data table v1 1 10 v2 c rep a 5 rep b 5 v1 v2 1 1 a 2 2 a 3 3 a 4 4 a 5 5 a 6 6 b 7 7 b 8 8 b 9 9 b 10
  • perl / embperl -- IPC::Open3

    我有一个 perl 和 embperl 两种格式的示例程序 Perl 版本可以作为 CGI 运行 但 embperl 版本则不能运行 任何建议或解决方案的指示将不胜感激 操作系统 Linux 版本 2 6 35 6 48 fc14 i686
  • 在克隆存储库进行构建时,如何让 TeamCity 创建 .git 目录?

    我正在尝试在我的 MSBuild 文件中运行自定义命令 它基本上运行 git log 10 并将提交信息存储到文本文件中 问题是 当我尝试运行构建时 它错误地显示 致命 不是 git 存储库 所以我检查了我的项目的TeamCity的工作目录
  • 浏览器刷新不进行垃圾收集

    我在所有测试过的浏览器上都发现了这一点 Windows 上的 IE Firefox Chrome 和 Safari 以及 Apple 上的 Safari 据称 浏览器刷新 后退按钮或前向链接应该转储浏览器节点以及 JavaScript 变量
  • 在 React 中,如何将动态变量传递给 const CSS 样式列表?

    我在用着反应 dropzone https github com okonet react dropzone允许用户上传个人资料照片 我像这样定义自定义 CSS const dropzoneStyle width 200px height
  • mysql 左连接右表最大值

    我想选择每张只有一条评论的照片 并且我希望该评论是具有最大 ID 的评论 我尝试过以下操作 SELECT p id p title MAX c id c comment FROM tb photos AS p LEFT JOIN tb co
  • 返回元素的计算样式以伪克隆该元素的 jQuery CSS 插件?

    我正在寻找一种使用 jQuery 返回第一个匹配元素的计算样式对象的方法 然后我可以将此对象传递给 jQuery 的 css 方法的另一个调用 例如 与width http docs jquery com CSS width 我可以执行以下
  • nginx 代理:connect() 到 ip:80 失败(99:无法分配请求的地址)

    在 Debian 6 0 1 上作为代理运行的 nginx 1 0 12 在运行一小段时间后开始抛出以下错误 connect to upstreamip 80 failed 99 Cannot assign requested addres
  • 如何访问“func applicationWillResignActive”中UIViewController的变量?斯威夫特,iOS Xcode

    我的 UIViewController 类设置如下 class ViewController UIViewController var currentTask NSURLSessionTask 如果用户按下主页按钮 我想做 self cur
  • 添加到 .gitignore 后,git 仍然显示文件已修改

    我把这个添加到 gitignore file idea 但无论如何状态是 modified gitignore modified idea generators modified idea dovezu iml modified idea
  • 如何识别文件内容是ASCII还是二进制

    如何使用 C 识别文件内容是 ASCII 还是二进制 如果文件包含only十进制字节 9 13 32 126 它可能是纯 ASCII 文本文件 否则就不是了 但是 它可能仍然是另一种编码的文本 If in addition对于上述字节 该文
  • 如何用Java读取TIFF文件?

    假设我有一个非常大的 TIFF 图像作为输入 由于我必须遵守内存规范 我无法完全加载此图像 所以以下不是一个选择 BufferedImage data ImageIO read image 是否有任何 Java 库允许读取图像的特定部分而不
  • Eclipse 中的 Dagger 设置

    我在为 Dagger 存储库中的 Coffee 示例设置 Eclipse 项目时遇到问题 下面是错误消息和我正在使用的 Eclipse 设置的屏幕截图 任何建议将不胜感激 Thanks 看起来你的 Javawriter 版本应该是2 2 1
  • ASP.NET Identity 和 IdentityServer 连接

    有人可以解释一下 Identity 和 IdentityServer 之间的联系吗 最近有一篇文章说将会有新版本的IdentityServer 即IdentityServer 4 我正在做一个 ASP NET 5 项目 我之前只听说过 Id
  • 如何在启动主应用程序时启动 Finder 同步扩展?

    在我的 Cocoa 应用程序中 我有一个 finder 同步扩展 启动应用程序时 我的查找器同步扩展不会自动启动 我需要进入系统偏好设置 gt 扩展并启用它 如何确保在启动主应用程序 app 文件时查找器同步扩展已启动并启用 查看https
  • MVC 4 忽略 DefaultModelBinder.ResourceClassKey

    添加资源文件到App GlobalResources with a PropertyValueRequired关键和变化DefaultModelBinder ResourceClassKey文件名对 MVC 4 没有影响 字符串The 0