【问题标题】:MVC DataAnnotations validation (Regular Expression) User Input Not Allow HTML EntitiesMVC DataAnnotations 验证(正则表达式)用户输入不允许 HTML 实体
【发布时间】:2014-07-17 03:00:15
【问题描述】:

我有 textarea 多行,我想用户 不允许在 textarea 中输入 html 标签和 html 实体,我完成了 html 标签不允许但用户输入 html 实体有困难。

当用户输入 html 标签时,下面的代码可以工作。

[Required]
[RegularExpression(@"[^<>]*", ErrorMessage = "Html tags are not allowed.")]
[DataType(DataType.MultilineText)]
[StringLength(255)]
[Display(Name = "Message")]
public string message { get; set; }

当用户使用正则表达式 &amp;[^\s]* 输入像 &amp;nbsp;,&amp;lt;,&amp;gt; 这样的 html 实体时,我会尝试,但它不起作用。

请帮助我。如何用户不允许在 textarea 中输入 html 实体和 html 标签。

【问题讨论】:

  • 你能提供一个示例测试用例吗?输入和预期输出会很有帮助。
  • 用户不允许输入为 html 标签和 html 实体。不允许输入这样的值 (&amp;nbsp;,&amp;lt;,&amp;gt;) 或 HTML 标记。只需要带有空格的字符串或输入键。
  • 你可以使用 [RegularExpression(@"[^&]*", ErrorMessage = "Some text.")]
  • 但是这样,您将只能使用一个正则表达式。对于使用多个正则表达式,我将很快发布。

标签: regex asp.net-mvc validation asp.net-mvc-4


【解决方案1】:

试试这个:

[RegularExpression(@"[^<>&]*", ErrorMessage = "Html tags are not allowed.")]

刚刚在 Reg Exp 中添加了 &,这将阻止输入 &amp;nbsp;,&amp;lt;,&amp;gt;

希望这会有所帮助...谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2016-02-26
    • 2014-10-19
    • 2016-10-30
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多