W3C 验证和 Vue 的 HTML 绑定语法

W3C Validation and Vue's HTML binding syntax

当我使用 W3C 验证程序验证我的页面时,我在 Vue 的事件和绑定语法中遇到了这个错误:

Error: Attribute v-on:click not allowed on element div at this point.

有办法解决这个问题吗?

他们最好支持使用 data-* attributes,例如 data-v-on:click,但他们似乎不支持。

查看他们的问题 Why not using HTML5 data-* attributes

好像可以overwrite the used prefix, but this option seems to have been removed

您可以创建一个特定的正则表达式来忽略由 vue.js 用法引起的错误:

Attribute "((v-|:)[^"]+|@click)" not allowed

根据您验证项目的准确程度,可以以不同的方式使用此正则表达式。例如,如果您使用的是 vnu.jar 的 CLI 版本,您可以将其放入文件中并使用 --filterfile LIST_OF_REGEXES.txt 选项。或者,如果您正在设置自己的 vnu.jar 服务器,那么您可以使用 -Dnu.validator.servlet.filterfile=LIST_OF_REGEXES.txt.

(遗憾的是,一些包装器如 html-validator/html-validator-cli for node and gulp-html apparently only support ignore strings and not regular expressions. Others such as grunt-html and html5validator 所以支持它。)

顺便说一句,引号的样式改变了,在旧版本中它默认使用 unicode 智能引号,正则表达式需要适应它。