在ASP.NET MVC3中处理/清理数据库输入的位置

时间:2012-02-20 17:47:07

标签: c# asp.net-mvc-3 model-view-controller

我认为标题确实涵盖了这个问题,但无论如何我都会解释这个问题。

假设我有一个提交评论的用户,并且在该评论中他被允许使用Markdown。 现在我想解析Markdown服务器上的注释并将Markdown语法转换为HTML,但删除任何html或其他不需要的语法,然后将其保存在DB中。我应该在哪里这样做?我应该在控制器中还是在模型验证期间执行此操作?

一个例子将不胜感激。

1 个答案:

答案 0 :(得分:1)

您通常会在控制器之外执行此操作,将其传递给类以清理数据。如果你只是想要通过HTML传递清理,你可以使用antixss库的Sanitizer.GetSafeHtmlFragment()

如果您希望将规则显示给用户pm验证,那么您可以考虑在模型中实现IValidateableObject,但我仍然不会在此处进行过滤。