我的 ViewModel 列表中每个项目的数据验证

2024-04-29

要使用正则表达式进行验证,我通常这样做:

// In my ViewModel
[RegularExpression("MyRegex", ErrorMessageResourceName = "MyErrorMessage")]
public string MyField { get; set; }

以及 HTML 帮助程序

@Html.TextBoxFor(model => model.MyField)

生成如下所示的标记:

<input type="text" class="valid" name="MyField" value="" id="MyField" data-val="true" data-val-regex-pattern="MyRegex" data-val-regex="MyErrorMessage"></input>

问题是我想要有动态数量的字段并且现在正在使用

// In my ViewModel
[RegularExpression("MyRegex", ErrorMessageResourceName = "MyErrorMessage")]
public IList<string> MyField { get; set; }

这次

@Html.TextBoxFor(model => model.MyField[0])

将生成(没有正则表达式 html 属性)

<input id="MyField_0_" type="text" value="" name="MyField[0]"></input>

我怎样才能确保data-val在我的 ViewModel 中绑定具有 DataAnnotation 验证属性的列表元素时,会创建 html 属性吗?


实际上没有一种方法可以将数据注释应用于列表的元素。您需要做的是创建一个包装类并将数据注释应用到包装类中的元素,如下所示:

public IList<MyField> MyFields {get;set;}

public class MyField
{
    [RegularExpression("MyRegex", ErrorMessageResourceName = "MyErrorMessage")]
    public string Value
}

Usage:

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

我的 ViewModel 列表中每个项目的数据验证 的相关文章

  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • 有没有比这更快的方法来查找目录和所有子目录中的所有文件?

    我正在编写一个程序 需要在目录及其所有子目录中搜索具有特定扩展名的文件 这将在本地驱动器和网络驱动器上使用 因此性能是一个问题 这是我现在使用的递归方法 private void GetFileList string fileSearchP
  • 浮点提升:stroustrup vs 编译器 - 谁是对的?

    在 Stroustrup 的新书 C 编程语言 第四版 第 10 5 1 节中 他说 在执行算术运算之前 整数提升用于从较短的整数类型创建整数 类似地 浮点提升是用于从浮点数创建双精度数 我用以下代码确认了第一个声明 include
  • 身份未映射异常

    System Security Principal IdentityNotMappedException 无法转换部分或全部身份引用 该错误仅在应用程序注册后出现一次 当 SecurityIdentifier 无法映射时 例如 返回 Ide
  • __FUNCTION__ 宏的 C# 版本

    有人对 C FUNCTION 宏的 C 版本有好的解决方案吗 编译器似乎不喜欢它 尝试使用这个代替 System Reflection MethodBase GetCurrentMethod Name C 没有 LINE or FUNCTI
  • 组合 Datepicker 和 Timepicker 值 Win 8.1

    我试图同时使用 Datepicker Timepicker 来返回可以存储在数据库中的 DateTime 例如 我想要安排会议的开始日期和结束日期 如果适用 我将如何将这些值组合成 SQL 数据库可以处理的正确格式 任何反馈都会很棒 我让这
  • 根据拦截和返回值自动重试客户端WCF调用

    是否可以拦截 WCF 调用的结果并重试该操作 例如 操作的返回值可能包含状态代码 指示我传递到原始调用的会话令牌已过期 在这种情况下 我可以检索新的会话令牌并使用新的会话令牌重试调用 是否可以通过使用 WCF 拦截返回值 检查它 然后以对操
  • 成员初始值设定项列表中的求值顺序是什么?

    我有一个带有一些参数的构造函数 我假设它们是按照列出的顺序初始化的 但在一种情况下 它们似乎是按相反的顺序初始化的 导致中止 当我反转参数时 程序停止中止 下面是我正在使用的语法的示例 a 之前需要初始化b 在这种情况下 你能保证这个初始化
  • 防止复制构造和返回值引用的分配

    如果我有一个函数返回对类实例的引用 但我无法控制其源 比如说list
  • asp.net mvc jquery 下拉验证

    我如何使用不显眼的 javascript 验证下拉列表 作为所需验证器的验证文本框 但它不适用于下拉列表 需要更改不显眼的 js 文件吗 或者还有其他选项来验证下拉列表吗 我想在我的 javascript 中检查 form validate
  • 如何在 CAST/CONVERT 之前检查 VARCHAR(n) 的 XML 格式是否正确

    我的公司有一个日志表 其中包含VARCHAR N 放置字符串的列 即supposed是 XML 但事实证明它并不总是格式良好的 为了对日志记录进行分析 以确定错误趋势等 我一直在使用LIKE陈述 然而 这非常慢 最近 我发现SQL Serv
  • C++ Primer 5th Edition 错误 bool 值没有指定最小大小?

    bool 的最小大小不应该是 1 个字节吗 这有点学术性的东西 尽管它们会转换为数字 并且 与其他所有事物一样 它们最终将基本上由计算机内存中的数字表示 但布尔值不是数字 你的bool可以取值true 或值false 即使您确实需要至少 1
  • 如何使用 Clang 查找内存泄漏

    我在我的机器 ubuntu 中安装了 Clang 以便发现我的 C 代码中的内存泄漏 我编写了一个示例代码来检查它的工作情况 如下所示 File hello c for leak detection include
  • 编写专门用于类及其子类的函数模板

    我正在尝试编写一个函数模板 一个版本应该用于不满足另一版本标准的所有类型 当参数是给定类的基类或该类本身时 应使用另一个版本 我尝试过超载Base 但是当类派生自Base 他们使用通用的 而不是特定的 我也尝试过这种 SFINAE 方法 s
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 为什么我不能在扩展 List 的类中调用 OrderBy?

    我有一堂课 Deck 其中包含一个名为的方法Shuffle 我正在致力于重构Deck延长List
  • 改进C++逐行读取文件的能力?

    我正在解析大约 500GB 的日志文件 我的 C 版本需要 3 5 分钟 我的 Go 版本需要 1 2 分钟 我正在使用 C 的流来流式传输文件的每一行以进行解析 include
  • C++0x 中的新 unicode 字符

    我正在构建一个 API 它允许我获取各种编码的字符串 包括 utf8 utf16 utf32 和 wchar t 根据操作系统 可能是 utf32 或 utf16 新的 C 标准引入了新类型char16 t and char32 t没有这么
  • Page_ClientValidate 正在验证多次。

    我的问题是 验证摘要消息 警报 显示两次 我无法弄清楚原因 请帮忙 这是代码 function validate javascript function if typeof Page ClientValidate function var
  • 最后从同一类中的其他构造函数调用构造函数

    我在这里读到可以调用另一个构造函数从同一类中的另一个构造函数调用构造函数 https stackoverflow com questions 829870 calling constructor from other constructor

随机推荐

  • 将多个堆栈导航器中常见的所有屏幕放在哪里? - 反应导航 v5

    以下是我的应用程序导航器的层次结构 appNavigator 底部选项卡导航器 feed 堆栈导航器 后详细信息屏幕 页面详细信息屏幕 个人资料详情屏幕 其他屏幕 通知 堆栈导航器 个人资料详情屏幕 页面详细信息屏幕 发布详情屏幕 其他屏幕
  • 根据列标题将数据从一个工作簿转移到另一个工作簿

    我下面的代码将列值从一个特定工作簿 Activeworkbook 列 O AH 和 I 转置到另一个工作簿 loader file xls 列 A B C 它非常适合我的需求 Sub PullTrackerInfo Pull info fr
  • 如何使用开放的XML SDK基于C#中每行的列读取xlsx?

    我正在尝试使用 open xml sdk 读取一些 xlsx 文件 但我真的很难找到任何好的示例 我想要做的是读取整个 XLSX 文件并循环所有行并从我指定的列中提取单元格值 单元格文本 就像下面这样 GetCellText rowId C
  • updatepanel (JavaScript) 回发后,jQuery 可排序不起作用

    我对 jQuery 的可排序功能有疑问 当我的页面使用更新面板进行回发时 动态表的排序不再起作用 当按下图像按钮时会触发回发 当按下图像按钮时 会出现一个新行 其中有一个子表 我尝试了这 3 个 JavaScript 代码 但它们似乎都是第
  • 比较 std::functions 是否相等?

    如何比较两个 C 11std functions with operator 并返回true如果两者都说functions 引用同一个函数指针吗 你实际上可以让它工作 target template
  • BNF 可以处理远期消费吗?

    最近我发现了 python 模块pyparsing 一个通过编写来解析数据的绝佳工具grammar 而不是解析器 我对上下文无关语法的概念很陌生 所以请纠正这个问题中的任何错误假设 Pyparsing 可以实现 BNF 巴科斯 诺尔范式 h
  • F# 中序列的递归函数

    这是一个相当微不足道的问题 但快速的谷歌搜索并没有给我答案 为序列编写递归函数的标准方法是什么 对于列表 您可以使用空列表和头 尾模式进行模式匹配 序列的等效项是什么 没有标准的方法可以做到这一点 因为您很少为序列编写递归函数 您应该查看各
  • Mongoose:find() 忽略重复值

    我有一只 聊天 猫鼬Schema它具有以下属性 const schema mongoose Schema recipient type mongoose Types ObjectId required true ref User sende
  • Oracle 连接池类

    我想在 Helper 类中为 Oracle DB 设置连接池 public class DbConnection Data source for the pooled connection private static OracleData
  • 数据库优化命令

    在用户可以下订单的数据库中 最好有一个包含地址的新表 还是每个订单的标题中都有地址数据 这不仅涉及用户 及其地址 还涉及您所销售产品的价格和其他信息 这些信息可能会发生变化after订单已下达 但订单本身必须保持完整 一般来说 有两种方法
  • 如何获取Android 13当前的壁纸?

    似乎getDrawable of WallpaperManager在 Android 13 上没用 因为用户无法获取READ EXTERNAL STORAGE对此的许可 有什么办法可以获取 API 级别 33 上的当前壁纸吗 我的意思是不降
  • 新的 Delphi Rad Studio XE2 中的 FireMonkey (FMX) 包含哪些功能的详细信息?

    我听说德尔福全新 Rad Studio XE2有一个东西叫做火猴这将允许相同的代码构建 Windows 32 Windows 64 和MacOS应用程序 如果这是真的 那么这是巨大的 在哪里可以获得有关 FireMonkey 的技术文档 E
  • 如何预取 Wagtail 帖子标签?

    我有大约 10 个帖子 它生成大约 100 个查询来获取帖子标签 这taggit下面使用的 Wagtail 库supportprefetch related https github com alex django taggit blob
  • 将图像上传到 spring mvc 中的文件夹

    我尝试将图像上传到我的资源中的文件夹 resouces images demo jpg 但它无法运行 你能帮忙在春天上传到我的资源吗mvc 如果我上传到 C test demo jpg 没关系 我的样本 String filename Fi
  • Rails 3.1 资产管道:忽略来自 gem 的资产

    我不太确定实际行为是什么 所以我的第一个问题是 来自 gem 在我的例子中 Spree 的资产 例如 javascript 是否总是被编译 我不使用 Spree 的 javascript 因此不希望编译它们 我不需要它们applicatio
  • R Doplot() 坐标定位器()

    我绘制了 2 个 fasta 序列的点图 使用 seqinr 包中的 dotPlot 我需要从图中提取一些值 x y Dotplot 输出是图像 通用点图可能就是这个 例如 我需要局部对齐的开始和结束值 由紫色线表示所以这里有一个例子 l
  • 了解 JAXB @XmlRootElement 注释

    我正在使用教程在这里 http www vogella com articles JAXB article html jaxb用于理解 JAXB 当作者开始创建文档的根时 作者开始如下 This statement means that c
  • 在rails生产环境中禁用服务器端缓存

    我即将部署一个包含敏感数据的应用程序 因此 不应将任何数据存储到磁盘上 有没有办法禁用服务器端缓存 我找不到任何 我碰巧遇到了这个问题 并且假设您不再需要答案 但是 我相信您正在寻找的是以下内容 config action controll
  • 在javascript中将字符串转换为数字

    我想解析包含经度和纬度的用户输入 我想做的是将字符串强制转换为数字 保留其符号和小数位 但我想做的是当用户输入无效时显示一条消息 我应该遵循哪一个 parseFloat x second new Number x third x fourt
  • 我的 ViewModel 列表中每个项目的数据验证

    要使用正则表达式进行验证 我通常这样做 In my ViewModel RegularExpression MyRegex ErrorMessageResourceName MyErrorMessage public string MyFi