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 智能引号,正则表达式需要适应它。
当我使用 W3C 验证程序验证我的页面时,我在 Vue 的事件和绑定语法中遇到了这个错误:
Error: Attribute
v-on:click
not allowed on elementdiv
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 智能引号,正则表达式需要适应它。