使用正则表达式阻止mvc文本框中的html标记条目

时间:2013-05-25 15:36:03

标签: c# asp.net-mvc validation asp.net-mvc-4

我想在我的mvc 4应用程序的文本框中阻止任何html标记(写在“<>”之间)。 我已经为我的属性提供了数据注释正则表达式,如下所示:

    [RegularExpression(@"<[^>]*>",ErrorMessage="Invalid entry")]
    public string Name { get; set; }

但正则表达式无法正常工作。当我输入时,它会显示“无效条目”。之后,当我输入一些普通文本时,例如“praveen”也会显示“Invalid entry”错误信息。

我尝试过另一种类似@“< [^>] *>”的正则表达式,但结果与上述相同。

请帮忙。

2 个答案:

答案 0 :(得分:6)

你必须转向逻辑。您编写的正则表达式是您不想允许的,而RegularExpression属性要求您输入您允许的内容。任何与正则表达式不匹配的内容都会显示ErrorMessage。

另一种正则表达式可能是:

@"[^<>]*"

将禁止&lt;和&gt;。

答案 1 :(得分:-2)

RegularExpression 以避免使用任何html标记条目:

[RegularExpression("^[^<>,<|>]+$", ErrorMessage = "Html tags are not allowed.")]