gpt4 book ai didi

html - Ruby gem 快速验证部分 HTML 片段?

转载 作者:太空狗 更新时间:2023-10-29 16:49:54 25 4
gpt4 key购买 nike

我正在 Rails 中制作一个自定义的准 CMS,我们希望有一个字段可以作为代码中的 HTML 片段进行编辑(管理界面将在前端使用 CodeMirror)。当它呈现给最终用户时,它只会被 html_safe 处理并插入到一个 div 中。我们相信我们的内容编辑器没有恶意,但确保他们创建有效的 HTML 不会破坏页面会很有帮助,尤其是因为他们对编码还比较陌生!

作为第一次尝试,我使用 Hash.from_xml 并将异常拯救作为自定义验证器。但是是否有更好和/或更优化的方法(即 gem)来检查它是否是有效的 HTML?

谢谢!

最佳答案

您可以使用 Nokogiri库(和 gem )在您的模型中创建验证器。在片段上使用 Nokogiri 并不完美(因此您可能希望添加覆盖验证器的能力)但它会捕获许多可能破坏页面的明显错误。

示例(假设您的模型属性/字段称为 content):

validate :invalid_html?

def invalid_html?
doc = Nokogiri::HTML(self.content) do |config|
config.strict
end
if doc.errors.any?
errors.add(:base, "Custom Error Message")
end
end

关于html - Ruby gem 快速验证部分 HTML 片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24395993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com