使用自定义 [required] 属性时使用客户端验证

2023-12-01

在这个项目中,我们不使用默认的数据注释属性System.ComponentModel.DataAnnotations命名空间,但构建了自定义属性。

所以我们确实放置了一个[required]属性上的属性,但它是自定义构建的。

对于服务器端验证,我们设法使用自定义验证提供程序覆盖验证,但我们仍坚持客户端验证。

正如我在文档中阅读的那样,我发现当您使用默认值时[required]属性,这些属性呈现在 html 元素上:

data-val-lengthmax="10" data-val-length-min="3" data-val-required="The ClientName field is required."

我认为这是由框架完成的,它读取正常的required属性,然后渲染 html 属性。

我们能让框架也为我们渲染这些属性吗?


我们能让框架也为我们渲染这些属性吗?

是的,有两种可能性:

  1. 让您的自定义属性实现IClientValidatable您将在其中实现客户端验证规则的接口。
  2. 注册定制DataAnnotationsModelValidator<TAttribute>其中 TAttribute 将是您的自定义验证属性,并且您将在其中实现自定义客户端验证规则(这是 Microsoft 用于实现必需属性的客户端验证的方法,这就是为什么如果您编写一个派生自它的自定义验证器属性没有得到客户端验证)。然后,您需要使用自定义属性注册自定义模型验证器DataAnnotationsModelValidatorProvider.RegisterAdapter call.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用自定义 [required] 属性时使用客户端验证 的相关文章

  • Mvc ViewBag - 无法将 null 转换为“bool”,因为它是不可为 null 的值类型

    我想在生成某个视图时在控制器中将 bool 设置为 true 然后相应地更改视图的标题 这应该非常简单 但我得到的是 无法对空引用执行运行时绑定异常详细信息 Microsoft CSharp RuntimeBinder RuntimeBin
  • JavaScript 正则表达式否定精确的字符串匹配

    HTML JavaScript 中有没有办法编写正则表达式来否定精确的字符串匹配 我想确保输入不等于 foo 仅有的 foo 验证必须失败 但是 fooo 必须被允许 换句话说 我正在寻找这个正则表达式的否定
  • 将视图中的 src 属性设置为 MVC3 项目外部的 url

    我正在尝试创建一个应用程序来显示本地存储在网络服务器上的图像 这是我的观点 请注意 条目 是绝对地址 例如 C Images Image1 jpg 但是 当我运行它时 我得到 Not allowed to load local resour
  • 如何在 Html.BeginForm 中使用 @FileUpload.Get Html 并提交文件列表

    FileUpload GetHtml 有一个默认的提交按钮 但我希望在 Html 开始表单中有一个提交按钮 并使用该替换来提交带有更多参数的文件列表 但是 当我这样做时 在 Action 方法中传递的 IEnumerable 始终为 nul
  • 有没有办法将复选框列表绑定到 asp.net mvc 中的模型

    我在这里寻找一种快速简便的方法来在模型中发生回发时绑定复选框列表项的列表 显然现在常见的做法似乎是这样的form GetValues checkboxList 0 Contains true 这看起来很痛苦而且不太安全 有没有一种方法可以绑
  • codeigniter 动态表单输入名称的表单验证

    我有一个 codeigniter 应用程序 我的视图使用数据库行 ID 附加到输入名称以获取唯一 ID 这允许我在表单操作 即更新 中使用所有输入 我的视图语法 table tr th nbsp th th nbsp th th Custo
  • ASP.NET MVC 2 发行版本的实际调试符号

    我需要 ASP NET MVC 2 发布版本 通过 Web 平台安装程序安装的版本 中的实际调试符号 我知道我可以下载源代码 构建并使用其中的调试符号 但这种方法有几个问题 要求使用此版本的 DLL 重建所有其他依赖项 因为它未签名 如果您
  • ckeditor 数据未通过 jQuery 验证进行验证

    我知道有很多关于此的问题 但我无法让它在我的一生中发挥作用 我尝试了几种解决方案 包括this http devlog waltercruz com usando ckeditor e jquery validate juntos 第二个答
  • 我应该迁移到 ASP.NET MVC 吗?

    我刚刚听了 StackOverflow 团队的第 17 期播客 他们对ASP NET MVC http www asp net mvc 我决定去看看 但首先 我想确定这是值得的 我已经为几天后开始的项目创建了一个基础 Web 应用程序 供其
  • 如何简单地检查服务器PHP版本是否为5或以上?

    我正在为程序创建预安装清单 该程序需要 PHP5 因此我需要检查列表脚本来检查 PHP5 的可用性 有一个函数为phpversion 将以以下格式返回5 3 6或类似的 然而 我希望清单非常简单 只是告诉你是或否 所以显示当前版本对我没有多
  • MVC4:jQuery 验证不显眼的本机工作不正确

    我的 MVC4 Web 应用程序是在 Umbraco 7 上构建的 我已经安装了以下 nuget 软件包 jQuery 1 10 2 jQuery Validation 1 11 1 jQuery Validation Unobtrusiv
  • 如何添加没有值的属性

    我通过 html 助手和 TagBuilder 生成 HTML 文本框 我们有方法 TagBuilder Attributes Add key value 但对于 HTML5 required 属性不需要传递值 因此如果我传递空字符串 则输
  • 验证以防止角度形式出现重复的形式值

    我有几个表单数组 我需要进行验证 以便每个表单行中的特定字段在所有表单数组中必须是唯一的 如果任何值出现多次 则两个表单字段都必须标记为红色 我设法编写了一个函数 以便如果这些字段有任何更改 该函数将返回 true false 但我不确定如
  • Firefox 页面未正确重定向

    当我访问我的特定网址时asp net mvc 3 questions tagged asp net mvc 3我在 Firefox 中收到此错误 有问题的页面是登录屏幕 页面未正确重定向 Firefox 检测到服务器正在重定向请求 这个地址
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • 如何获取 ASP.NET MVC 中当前的虚拟路径?

    如何从 ASP NET MVC 视图中获取当前路径 URL 如果没有办法将其获取到视图中 那么如何将其获取到控制器中以便将其传递到视图呢 EDIT 我不需要 url 的协议和主机部分 这将为您返回视图中的 url
  • Symfony2 无效形式且无错误

    我的 Symfony2 生成的 CRUD 表单有问题 与MongoDB文档 但我不认为这是相关的 在我的控制器的 createAction 方法中 当我调试表单结果时 form gt isValid returns false form g
  • Scala:将整个列表的 Either 与每个元素的 Either 组合

    我有一个 Either 列表 它代表错误 type ErrorType List String type FailFast A Either ErrorType A import cats syntax either val l List
  • 返回按钮或导航到特定视图(页面)-ASP.NET MVC3

    我正在为我的 Web 应用程序使用 ASP NET MVC3 为了在用户界面中显示按钮 我在 View1 cshtml 中使用以下 html div class demo div
  • IEnumerable 流式传输

    我想做一些大致相当于下面的代码示例的事情 我想生成并提供数据流 而不必在任何时候将整个数据集都存储在内存中 看来我需要一些接受 Stream 的实现IEnumerable

随机推荐

  • 将两个字符串作为数值进行比较

    我应该如何比较 C 中表示数字的两个字符串 我想转换为数量long longtype 但问题是 string 表示的数值可以超过long long最大限制 保证该字符串代表一个数值 Java中也有类似的问题比较两个数字字符串值 但这利用了
  • 如何将变量转换为json?

    我想将json数据发送到ajax 但是如何将变量转换为json或将数组转换为json confirm order click function event event preventDefault var street street val
  • 如何跨线程共享包含 Sender 和 Receiver 字段的结构?

    我有一个结构 大致如下所示 struct Node id Arc
  • 程序从windows启动? C#

    So 我已经构建了一个只需打开一个新程序的winforms winform中的代码是这样的 如果有人需要 Process a Process a Process Start notepad exe BUT 我需要知道如何让程序随 Windo
  • 整数数组中具有最大总和的子序列[重复]

    这个问题在这里已经有答案了 给定一个整数数组 如何找到两个索引 i 和 j 使得子数组中从索引开始和结束的元素之和最大化 在线性时间内 简单的 假设你得到了数组a 首先 计算数组s where s i a 0 a 1 a i 您可以在线性时
  • 添加按钮到 QVideoWidget

    每个人 我尝试为 QMediaPlayer 元素设置点击属性 但我找不到制作它的模式 如果我尝试将按钮放在视频前面 该按钮会放在视频后面 即使使用 button gt raise videoWidget gt lower 如果我按下按钮全屏
  • 如何在没有 2^n if 语句的情况下启动具有许多布尔参数的函数模板

    我有一个 CUDA C 代码 专门出于性能原因而使用函数模板 这样该函数将只执行它需要执行的操作 而不是不断加载和读取布尔值来检查它是否需要执行操作 所有模板参数都是布尔值 在启动内核时 CPU 检查布尔值并启动适当的 我相信这称为内核模板
  • SQL Server 插入缺失行

    我有下表记录每天的值 问题是有时会缺少几天 我想编写一个 SQL 查询来 归还缺失的日子 使用线性插值计算缺失值 所以从下面的源表中可以看出 Date Value 2010 01 10 10 2010 01 11 15 2010 01 13
  • 将 C# 中的 CPU ID 代码转换为 C++ 中的 CPU ID 代码

    我有这个 C 代码来获取处理器 ID 但我无法将其传递给 C 我尝试了很多 但我真的不能 我刚刚开始使用 C 我希望能够通过以下方式获取 CPU ID C 就像我以前使用 C 一样 这是我在 C 中的代码 public static str
  • 嵌套列表理解以展平嵌套列表

    我对 Python 很陌生 想知道如何使用列表理解来展平以下嵌套列表 并使用条件逻辑 nested list 1 2 3 4 5 6 7 8 9 以下返回一个嵌套列表 但是当我尝试通过删除内部方括号来展平列表时 出现错误 odds even
  • Django 1.7 - makemigrations 未检测到更改

    正如标题所示 我似乎无法进行迁移 该应用程序最初低于 1 6 所以我知道迁移最初不会存在 事实上 如果我运行python manage py migrate I get Operations to perform Synchronize u
  • 如何从 Firefox 扩展程序访问网页数据?

    我已经成功地在 Firefox 中运行了一个自定义的非常基本的扩展 接下来我想做的是 检查用户是否位于所需的网页上 如果是 检查每个回发的页面是否包含包含string 如果找到 启动外部应用程序string范围 我对网页上的 javascr
  • pandas to_sql 方法给出日期列错误

    我有一个如下所示的数据框 df pd DataFrame index pd date range 2014 01 01 periods 10 df date df index map lambda x x strftime d m Y df
  • 预期为“struct Matrix_t *”,但参数类型为“struct Matrix_t *”?_?没有不同

    main c 78 25 erreur assignment from incompatible pointer type Werror main c 81 9 erreur passing argument 2 of matrix mul
  • .Net Socket 不响应远程断开连接?

    我正在编写一个小型 C 客户端应用程序 该应用程序使用 TCP IP 连接将数据发送到远程服务器 我正在使用标准 Net TcpClient 对象 并且希望在客户端保持连接打开状态 因为我定期向服务器提交数据包 但是 服务器可能会关闭连接
  • 数据源上的 save() 方法不会触发 querySave/postSave 事件

    我的保存按钮使用 SSJS 和一些逻辑 我想保存数据源 所以我使用 document1 save 脚本有效 但 querySave postSave 代码未执行 唯一的解决方法是使用简单操作并将按钮事件划分为 执行脚本 保存文档 简单操作
  • 存储过程不存在,是吗?

    我遇到一个问题 我有一个数据库连接 我在其中运行存储过程 这个相同的连接用于创建前面所说的存储过程 当我稍后尝试调用给定的存储过程时 我收到以下消息 找不到存储过程 dbo yaf prov upgrade 问题是它确实存在于数据库中 而且
  • 如何以管理员权限启动 Windows 服务

    我有自己的应用程序服务器 它是与 sql 服务器通信的 Windows 服务 在某些情况下 sql 服务器服务停止 所以我通过这段代码声明 ServiceController sc new ServiceController MSSQL S
  • C 代码的 x86 反汇编生成:orq $0x0, %(rsp)

    I have written the following C code 它只是分配一个包含 1000000 个整数和另一个整数的数组 并将数组的第一个整数设置为 0 我编译这个使用gcc g test c o test fno stack
  • 使用自定义 [required] 属性时使用客户端验证

    在这个项目中 我们不使用默认的数据注释属性System ComponentModel DataAnnotations命名空间 但构建了自定义属性 所以我们确实放置了一个 required 属性上的属性 但它是自定义构建的 对于服务器端验证