如果用户将非数字字符串放入 int 字段,则自定义验证错误消息

2024-02-01

这个问题之前肯定已经被问过,但我认为搜索词对我来说太通用了,无法找到我正在寻找的答案,所以我会再问一次。

我有一个模型int属性和范围注释。

如果用户输入 int 以外的内容,验证消息将响应The value '<bad data>' is not valid for '<property name>'...这很棒,但我想提供更多反馈,即Expecting an integer value in this field..

由于此验证在其他验证器查看之前失败,因此我不知道如何(或者是否可能)为此覆盖默认验证器消息。

我有什么选择?

根据请求,我发布了代码,但内容并不多:

[Range(0,65535, ErrorMessage="Port must be between 0 and 65535.")] 
public int Port { get; set; }

在到达 RangeAttribute 之前会进行验证。我想用我自己选择的消息替换默认消息。


如果您使用标准注释,您应该能够使用如下内容覆盖错误消息:

[MyAnnotation(...., ErrorMessage = "My error message")]
public int myInt { get; set; }

或者您实际上想附加到默认错误消息而不是替换它(问题中不清楚)?

更新:误读 - 建议将此作为答案:如何更改 ASP.NET MVC 中 int 模型验证的 ErrorMessage? https://stackoverflow.com/questions/6587816/how-to-change-the-errormessage-for-int-model-validation-in-asp-net-mvc或者更好如何在 MVC 中更改由 @Html 帮助程序生成的“data-val-number”消息验证 https://stackoverflow.com/questions/4828297/how-to-change-data-val-number-message-validation-in-mvc-while-it-generate-by-he/6405298#6405298

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

如果用户将非数字字符串放入 int 字段,则自定义验证错误消息 的相关文章

  • 如何根据多个条件创建所需的属性?

    我有一对单选按钮的列表 是 否 Q1 Y N Q2 Y N Q3 Y N Q4 Y N 我的模型中有一个属性public string MedicalExplanation get set 我的目标是 如果任何单选按钮已设置为 true 则
  • 使用编辑器模板处理可为空类型

    我开发了一个编辑器模板 它采用布尔类型并创建一个下拉列表 以更改true and false默认值 进入Si and No 现在 当我部署该应用程序时 我没有意识到boolean and Nullable
  • 导出 CSV 文件时出现编码问题

    我正在使用 Asp net mvc 生成 CSV 文件 但在处理葡萄牙语中的特殊字符时遇到问题 我使用以下代码返回文件 public FileContentResult RelMatriculas RelRematriculaVM mode
  • cryptoTicket 参数的值无效

    我最近修改了我公司 eComm 站点的登录名 以具有 保持登录状态 功能 主要更改是使表单身份验证 cookie 对这些用户持久存在 更改发布后 我开始在日志中看到此异常 Invalid value for encryptedTicket
  • 数据 URI 和潜在危险的 Request.Path 值

    我尝试过使用带有此 CSS 属性的数据 URI background image url data image png base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFW
  • 获取视图名称,其中 ViewResult.ViewName 为空字符串以进行单元测试

    我在 ActionResult 上编写了一个扩展方法 用于单元测试 它将断言返回的 ViewName 是否是预期的 这是我到目前为止的代码 public static void AssertViewWasReturned this Acti
  • 使用 Sitecore 在 url 中强制使用语言前缀

    是否有强制 URL 语言的设置 就像 如果我浏览到http www site com http www site com 我应该被重定向到http www site com en http www site com en 现在我可以看到没有
  • Ajax.BeginForm 路由到新页面而不是部分视图

    我有一个 Ajax BeginForm 调用 它应该返回部分视图 但将页面重新路由到操作 关于哪里出了问题有什么想法吗 这是我想要在其上呈现部分视图的主页上的代码 div class col md 6 using Ajax BeginFor
  • 在 Asp.Net Core 上的 Razor 页面中检查登录用户 AuthorizePolicy

    我正在寻找这个的变体 if SignInManager IsSignedIn User User IsInRole Roles Administrator div 但我不是在角色之后检查 而是在检查策略之后 就像在控制器中这样做一样 Aut
  • 在执行任何操作之前执行代码

    我有以下要求 在对我的网页的每个请求中 无论用户尝试调用哪个操作 我都需要调用一些代码来检查资源是否到位 如果是 那么一切都很好 并且应该正常调用操作方法 但是 如果此资源不可用 我希望所有请求返回一个单独的页面 要求用户从可用资源列表中选
  • 使用 asp.net MVC 拖放上传到 aws s3

    我在我正在处理的基本 mvc 项目上上传文件时遇到一些问题 我有一个拖 放功能 我想连接到 aws s3 我可以使用当前应用程序将文件放入本地文件夹中 并按照此处的步骤操作 gt 使用 c Sharp 将文件上传到亚马逊 s3 非常简单 h
  • LINQ 按降序排序,底部为空值 [重复]

    这个问题在这里已经有答案了 我有这样的表达 troubletickets db ServiceTickets Include t gt t Company Include t gt t UserProfile troubletickets
  • ASP.NET MVC4 中自定义移动显示模式和桌面模式之间的切换

    我想创建切换到完整站点链接并切换到移动链接 我不想通过使用会话变量强制它转到它们中的任何一个 我想知道是否可以使用 ViewSwitcher Controller 自动执行此操作 这是我用于自定义移动显示模式的内容 public class
  • MVC 3 将实体作为接口传递

    我目前正在开发一个 MVC 3 项目 使用 Ninject 作为我的 DI 业务对象存储在单独的程序集中 我遇到了控制器参数的问题 当回发 CRUD 操作时 我收到错误 无法创建接口实例 我知道您无法创建接口的实例 但似乎解决此问题的唯一方
  • 如何在 Nhibernate 中进行版本控制?

    我不敢相信让别人向我展示一个简单的工作示例是如此困难 这让我相信每个人都只能说得好像他们知道如何去做 但实际上他们并不知道 我将帖子缩短为仅我想要示例执行的操作 也许帖子太长了 吓跑了人们 为了获得这个赏金 我正在寻找一个可以在 VS 20
  • 使用 MVC3 RTM 进行 Ninject

    我已将 MVC3 从 RC2 升级到 RTM 我们使用的是 Ninject 2 1 0 76 但升级后就停止工作了 因此 我使用 NuGet 管理器获取最新的 Ninject Ninject MVC3 和 Ninject Web Mvc 库
  • 剃刀 2 到剃刀 3 MVC 5

    我一直在开发 MVC 4 解决方案 并且一直在尝试将其升级到 MVC 5 我已按照概述的步骤操作here http www asp net mvc tutorials mvc 5 how to upgrade an aspnet mvc 4
  • Ninject:选择错误的构造函数

    我有一个带有 Ninject v2 2 1 4 的 ASP NET MVC 3 应用程序 一切都运行良好 然后突然我们开始看到 Ninject 尝试使用带有参数的构造函数而不是无参数构造函数来创建 DbContext 以下是绑定 kerne
  • 如何将值从控制器传递到asp.net中的视图?

    我正在开发一个应用程序 我需要将用户名的值从控制器传递到视图 我尝试了 ViewData 中给出的http msdn microsoft com en us library system web mvc viewdatadictionary
  • ASPNET MVC - 使用具有相同签名的新助手覆盖 Html.TextBoxFor(model.property)?

    我想用我自己的助手重写 Html TextBoxFor 该助手具有完全相同的签名 当然 但名称空间不同 这是否可能 如果可以 如何实现 原因是我在现有的应用程序中有 100 多个视图 并且我想更改 TextBoxFor 的行为 以便在属性具

随机推荐