所以回答我自己的问题,因为我弄清楚发生了什么。发生错误的原因是因为来自react-quill的新行的
value
是<p><br><p>
,而净化后的clean
值是<p><br /><p>
。因此,从 (clean != value)
开始,它会返回错误。
为了解决这个问题,我可以根本不返回错误并让用户输入打印,因为react-quill已经做了一些清理工作,而sanitize-html仍然会清理该值。
我所做的是使用 cheerio 模块 并将我的代码更改为:
const cl = cheerio.load(clean, null, false);
if (cl.html() !== value)
return helpers.error('string.escapeHTML', { value });
return cl.html();