当前位置: 首页 > 知识库问答 >
问题:

有没有办法在Vue中验证HTML语法?

陈寒
2023-03-14

我有一个组件,它基本上从输入中获取所有内容并呈现html:

<template>
    <div>
        <input type="text" v-model="html">
        <VRuntimeTemplate :template="html" />
    </div>
</template>

<script>
import VRuntimeTemplate from 'v-runtime-template'

export default {
    data: () => ({
        html: ''
    }),
    components: {
        VRuntimeTemplate
    }
}
</script>

现在,当我开始输入时,它显然会向我抛出错误,说输入值没有结束或结束标记。

有没有办法事先验证HTML?它适用于v-html,但第三方模块存在问题。

沙盒:https://codesandbox.io/s/vruntimetemplate-27bdz?fontsize=14

共有2个答案

淳于熙云
2023-03-14

您需要将其包装在div中才能工作,请遵循下面的示例

<v-runtime-template :template="`<div>${template}</div>`"/>
姜正初
2023-03-14

根据需要验证HTML的时间,有几个选项。

要动态验证输入,您可以遵循以下答案:检查HTML片段是否对JavaScript有效

如果要验证Vue组件的HTML输出,此处有一个Vue cli插件:https://gitlab.com/html-validate/html-validate-vue

我遇到了同样的问题,最终选择了第一个选项,因为我需要验证用户提供的超文本标记语言,这些语言将在另一个vue应用程序中发出。

 类似资料:
  • 我正在验证银行的CAB代码。 规则是CAB必须是数字,由5位数字组成。我试图在Laravel 5.3中的FormRequest类中验证这一点 我尝试这样设置验证: 它可以工作,但如果用户在这两个字符之间传递一个普通字符(非数字),则验证将通过,因为字符串长度不超过5个字符。所以这很糟糕。 我尝试这样设置验证: 但是如果用户通过55555,它将失败,因为该数字大于5。 我想知道是否有一种方法可以执行

  • 我在Mac上使用Visual Studio代码来处理Node.js应用程序。 有没有办法让Visual Studio Code将EJS文件识别为超文本标记语言?我在用户首选项中没有看到任何文件/方案关联。

  • 问题内容: 我不确定这是否存在,所以我想我会借鉴别人的智慧。 我想知道是否有任何Java库可用于验证SQL查询的语法。我知道与常见的SQL规范有许多差异,因此它可能仅适用于SQL:2006之类的东西,但这当然足够了。 我的目标是将其用于单元测试,而无需尝试对数据库执行。我知道它的用途有限,但仍然有用。 谢谢! 问题答案: 我认为没有这样的库。SQL语法派生太多。 可能的解决方案是使用开源纯Java

  • 问题内容: 我想创建类似 可以用HTML5完成吗?我知道我可以做到 但它的可读性很差:( 问题答案: 您可以在浏览器中使用自定义标签,尽管它们不是HTML5请参阅自定义元素是否有效?和HTML5规范。 假设您要使用名为的自定义标记元素 。这是你应该做的… 步骤1 在CSS样式表中标准化其属性(请考虑将CSS重置)-示例: 第2步 要使其在旧版本的Internet Explorer中运行,您需要将此

  • 问题内容: 我想在Python中使用PhantomJS。我用谷歌搜索了这个问题,但是找不到合适的解决方案。 我发现 可能是一个不错的选择。但是我无法通过一些争论。 使用可能是目前合适的解决方案。我想知道是否有更好的解决方案。 有没有办法在Python中使用PhantomJS? 问题答案: 在python中使用PhantomJS的最简单方法是通过Selenium。最简单的安装方法是 安装NodeJS

  • 我想在Python中使用PhantomJS。我谷歌了这个问题,但找不到合适的解决方案。 我发现可能是一个不错的选择。但我无法向它传递一些论据。 使用目前可能是一个合适的解决方案。我想知道是否有更好的解决办法。 有没有办法在Python中使用PhantomJS?