MVC 3 DataAnnotations:不允许 HTML

2024-04-06

无论如何,是否可以在 MVC 3 中使用 DataAnnotations 来不允许在文本框中使用 HTML? 我看到了一种允许使用 HTML (AllowHTMLAttribute) 的方法,但是如果我不希望用户在文本框中键入任何 HTML 并且想警告他怎么办?

谢谢 :)


您必须编写一个自定义的 RegularExpressionAttribute ...如下所示:

public class DisallowHTMLAttribute : RegularExpressionAttribute
{
    public DisallowHTMLAttribute()
        : base(@"</?\w+((\s+\w+(\s*=\s*(?:"".*?""|'.*?'|[^'"">\s]+))?)+\s*|\s*)/?>")
    {
    }

    public override string FormatErrorMessage(string name)
    {

        return String.Format("The field {0} cannot contain html tags", name);

    }
}

您必须注册适配器才能启用客户端验证,因此在 Global.asax 的 Application_Start 中添加以下代码行:

DataAnnotationsModelValidatorProvider.RegisterAdapter(typeof(DisallowHTMLAttribute), typeof(RegularExpressionAttributeAdapter));

在您的模型中,将属性添加到您想要禁止 html 标签的属性中,如下所示:

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

MVC 3 DataAnnotations:不允许 HTML 的相关文章

  • 全面的 html5 音频 API

    对于我的一生 我找不到所有 html5 的完整列表
  • 选中复选框时展开 Div

    我有一个复选框
  • 在asp net mvc中简单的图像上传

    我正在构建一个简单的学校门户 我一直坚持将图像上传到我的应用程序中 即用户应该将学校图像上传到我的服务器 我的图像目录为 Content Images 所有上传图像都应该上传到这个目录 我有以下代码 input type file id S
  • 如何在 HTML 中制作三角形?

    我想使用基本的 CSS 在 HTML 页面中制作三角形 我正在使用需要时间加载的三角形图片 因此 我想减少页面的加载时间 HTML 不可能 但 CSS 可以 例子 div class div
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • 使用 JSON 文件动态更新 HTML 内容?

    我想创建一个 JS 循环 使用 jQuery 来查看 JSON 文件 并根据是否 div ids 与 JSON id 值匹配 这需要易于扩展并且无论有多少人都可以工作 div 添加了盒子 我有一个 HTML 文件 设置如下 div clas
  • 在 IE10 中禁用捏合放大

    在 IE10 触摸模式下 我希望仅使页面的特定部分可缩放 其余的不应该 我找到了这个 http msdn microsoft com en US library ie hh772044 aspx http msdn microsoft co
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • 在 HTML5 中将两个图像合并到一个画布上

    我正在使用 HTML5 canvas 元素 假设我有 2 个 ImageData 对象 我想将它们组合起来放在一张画布上 假设我不关心这些图像如何组合 两个 ImageData 对象具有完全相同的像素数和形状 组合两个图像的最佳方式是什么
  • 如何将当前元素传递给 Knockout.js 绑定中的 Javascript 函数?

    因此 我尝试根据是否选中子复选框 使用 Knockout js 将类添加到元素 为此 我试图通过this作为我的函数的参数 目前 我的精简 DOM 结构如下 tr td td tr
  • HTML 和 JavaScript - 将滚动操作从一个元素传递到另一个元素

    假设我有两个 div div div div A scrollable list div 我想让它当光标停在里面时 control并且鼠标滚轮滚动 view将会滚动 无论如何要实现这一目标 好的 快速修复对我有用 即使固定 div 不可滚动
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 使用 JavaScript onclick 添加表格行

    我正在尝试使用 javascript 添加下面找到的完全相同的元素 我已经尝试了这里找到的所有解决方案 我什至尝试用php echo但没有运气 无需更改任何输入名称或类似内容 只需单击该按钮即可向表中添加另一行 仅此而已 这是该元素 tr
  • 使用 JQuery 预填充选择字段的下拉选项验证

    我有这个 JQuery 片段来防止选择已在另一个字段中选择的下拉选项 var coll select name service on change function coll each function var val this value

随机推荐

  • 如何在 Windows 中使用命令提示符创建多个空文件

    我正在开发一个项目 需要创建多个空文件 过去 我使用过 touch 命令 但这只能让我一次创建一个文件 有没有办法在 Windows 中使用命令提示符创建多个空文件 我感谢您提出的任何建议或解决方案 谢谢你 A FOR循环将允许您创建任意数
  • alias_method 和 class_methods 不能混合使用吗?

    我一直在尝试修补全局缓存模块 但我不明白为什么这不起作用 有没有人有什么建议 这是错误 NameError undefined method get for module Cache from irb 21 in alias method
  • 使用 Dataset API 在 Tensorflow 中批量滑动窗口

    有没有办法修改一批图像的组成 目前 当我创建例如大小为 4 的批次 我的批次将如下所示 Batch1 Img0 Img1 Img2 Img3 第2批 Img4 Img5 Img6 Img7 我需要修改批次的组成 以便它只会转移到下一个图像一
  • 运行 .net 应用程序而不安装 .net 客户端配置文件?

    我在framework 4 0中构建了一个c net应用程序 我不反对为客户端的电脑安装 net 但是在客户端安装它太大了 这不可能有一些小的安装程序或redist包吗 安装并有助于轻松运行 net 应用程序 因为仅为小型应用程序安装完整的
  • 在 Go 中不睡眠的情况下测试异步结果

    我的代码中有相当多的组件具有持久的 go 例程 用于侦听事件以触发操作 大多数时候 他们没有理由 除了测试之外 在完成该操作后发回通知 但是 我的单元测试正在使用 sleep 来等待这些异步任务完成 Send notification ev
  • JUnit 4 与 TestNG - 更新 2013 - 2014 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 JUnit 4 和 TestNG 曾经具有可比性 这两个测试框架有何优缺点 我今天比较了 TestNG 和 JUnit4 以我有限的测试框架经验
  • 将区间表示法解析为 Guava Range

    我需要将包含标准间隔表示法 即 8 100 6 10 等 的字符串解析为 Guava Range 对象 我将如何在 Java 中做到这一点 是否有一个实用程序包可以将字符串解析为构建 Guava Range 对象所需的组件 如果我们看一下这
  • 无法读取未定义的属性“native-element”

    我用的是离子2 我需要获取 HTML 元素值 其实我用的是viewchild 这是我的html模板代码 div class messagesholder last callFunction div p class chat date cha
  • 检索已排序的可手动实例内的隐藏标头

    使用时手动表 http handsontable com 似乎很难从上下文菜单中检索行的标题 考虑以下数据源 var data function return 1212 roman i ii iii 3121 numeric 1 2 3 4
  • 在 JavaScript 中覆盖对象的括号 [index] getter/setter?

    我目前正在构建一个双向链表 http en wikipedia org wiki Doubly linked list执行 我正在尝试 或希望 做的是使用 setter getter 来设置列表中的元素 就像在数组中一样 var index
  • 如何使 svg 元素(例如矩形)scrollIntoView?

    我在图形面板中有一个 svg svg 中的所有节点都在另一个面板中列出 我希望通过单击节点列表中的节点 svg 可以滚动到该节点 每个节点都是一个矩形 但我发现只有上边框在视图中 而节点的其余部分仍然在视图之外 有什么办法可以解决这个问题吗
  • 有人有使用 Python Zeep 和 Mock 对 SOAP API 进行单元测试的示例吗?

    我正在构建一个使用 Python zeep 访问第三方 SOAP API 的 Python 应用程序 我想使用模拟响应来实现一些单元测试 因为我并不总是有一个实时服务器来运行我的测试 我是单元测试的新手 不太确定从哪里开始 我见过使用模拟与
  • Java 因实现访问权限较弱的接口方法而出现错误

    当我编译这段代码时 interface Rideable String getGait public class Camel implements Rideable int x 2 public static void main Strin
  • 在codeigniter中上传doc和docx文件

    大家好 我在 codeigniter 中上传 doc 和 docx 文件时遇到麻烦 我检查了 config mime php 中的 mime 类型 谁能告诉我有什么问题吗 以下是我的 mime php 文件 doc gt applicati
  • Fabric js 或 imagick 从图像中删除白色

    我遇到了这种情况 我很难在谷歌上搜索并解释 我们公司在铝上打印照片 我们为客户提供两种选择 第一个选择是将他们的照片打印在铝上 就像 他们把照片给了我们 所以如果照片有白色 背景 图片以白色背景打印 简单的 像那样 第二个选项是我们可以打印
  • CSS3 FlexBox 过渡

    在这个 codepen 示例中 http codepen io DrYSG pen ovctn http codepen io DrYSG pen ovctn我创建了三个弹性盒 我想要的效果是 当鼠标悬停在中间框上时 它的尺寸会增大 演示中
  • 允许 Discord Rewrite 机器人响应其他机器人

    我有一个 Discord 机器人和一个用于 Discord 频道的 Webhook 设置 用于每小时准时发送一条命令 然而 Discord Rewrite 默认情况下似乎会忽略从其他机器人发送的命令 我该如何禁用此功能 我是否需要修改每个命
  • 在 will-change:transform 之后保持溢出:隐藏行为

    我有一个父元素和一个子元素 parent will change transform overflow hidden position absolute child position fixed top 80px left 80px wit
  • 更改 Cookie 域

    我使用 apache 作为我的应用程序 Web 服务器的代理 并希望即时更改与 sessionid cookie 关联的域名 该cookie有一个与之关联的 company com域 我想使用apache mod rewrite 或一些类似
  • MVC 3 DataAnnotations:不允许 HTML

    无论如何 是否可以在 MVC 3 中使用 DataAnnotations 来不允许在文本框中使用 HTML 我看到了一种允许使用 HTML AllowHTMLAttribute 的方法 但是如果我不希望用户在文本框中键入任何 HTML 并且