检查输入包含表单提交上的HTML元素

时间:2011-06-24 14:44:57

标签: c# asp.net-mvc regex entity-framework-4

我使用Entity Framework创建了我的模型,我在MVC3中创建了一个基本网站,允许我编辑数据库中的项目。到目前为止它工作正常,但我想添加一个正则表达式,以确保其中一个表单字段的内容始终包含特定的HTML元素。

到目前为止,我的模型中有关该属性的内容如下:

[Required]
[AllowHtml]
[DataType(DataType.MultilineText)]
[RegularExpression("^.*(<p>).*$", ErrorMessage = "Must contain <p> element")]
public string Text { get; set; }

我尝试过上面显示的RegularExpression属性的变体,但似乎没有任何效果。我基本上要做的是确保上述属性的文本区域中的文本始终包含至少一个<p>元素。

不可否认,我对正则表达的态度不是很强,所以我可能会偏离正轨。有什么指针吗?感谢。

1 个答案:

答案 0 :(得分:0)

尝试这样做,这可以确保有一个开始和结束<p>标记(这样他们就不能<p>而不做</p>)。

[RegularExpression(@"<p\b[^>]*>(.*?)</p>", ErrorMessage = "Must contain <p> element")]

有一个方便的解释here,可以帮助您根据需要自定义示例。