当前位置:  开发笔记 > 后端 > 正文

如何验证Markdown?

如何解决《如何验证Markdown?》经验,为你挑选了1个好方法。

使用无效语法编写Markdown内容是可能的.无效意味着BlueCloth库无法解析内容并引发异常.markdownRails中的帮助程序不会捕获任何BlueCloth异常,因此完整页面无法呈现(而是呈现500 Server Error页面).

在我的例子中,允许用户编写Markdown内容并将其保存到数据库中.如果某人使用了无效语法,则该内容的所有连续呈现尝试都将失败(状态码500 - 内部服务器错误).

你是如何解决这个问题的?在保存到数据库之前,是否可以在模型级验证Markdown语法?



1> Damir Zekić..:

您应该编写自己的验证方法,在其中初始化BlueCloth对象,并尝试调用to_html捕获任何异常的方法.如果你遇到异常,验证失败,否则它应该没问题.

在你的模型中:

protected:

def validate
  bc = BlueCloth.new(your_markdown_string_attribute)
  begin
    bc.to_html
  rescue
    errors.add(:your_markdown_string_attribute, 'has invalid markdown syntax')
  end
end

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有