如何在Visual Studio 2012 html编辑器中为修改的标签提供验证?

Jac*_*ter 10 html html5 visual-studio-2012

Visual Studio 2012 html编辑器坚持要求我对检测到或配置的html架构中找不到的标记名称发出警告.

当我使用Google的AngularJs时,这种行为不方便,因为它充分利用了所有主流浏览器都允许将自定义标签输入DOM的事实.

有没有办法提供自定义验证架构,还是我坚持使用Microsoft提供的硬编码架构?


请注意

我知道您可以通过取消选中工具 - >选项 - >文本编辑器 - > HTML->验证 - >显示错误来完全禁用验证.但是,我不想完全禁用验证.

Pau*_*ice 6

如果您愿意编辑验证规则文件,则C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\schemas\html\html_5.xsd可以消除与Angularjs元素指令相关的验证错误.

首先备份原始的xsd文件.定义元素并将其添加到文件中.必要时修改相关的父元素.保存并重启VS2012.您的元素指令将不再生成HTML5验证错误.

例如,给定一个元素指令'schema-form-fields':

  1. 嵌套在一个字段集中
  2. 需要属性'field','model'和'schema'

以下修改的字段集和新的schema-form-fields声明消除了不必要的验证错误.

<xsd:element name="fieldset">
    <xsd:complexType mixed="true">
        <xsd:choice>
            <xsd:element name="legend" type="legendType" minOccurs="0" maxOccurs="1" />
            <xsd:element ref="schema-form-fields" minOccurs="0" maxOccurs="1"/>
            <xsd:group ref="flowContent" />
        </xsd:choice>
        <xsd:attributeGroup ref="commonAttributeGroup" />
        <xsd:attribute name="disabled" vs:standalone="true" />
        <xsd:attribute name="form"  vs:associatedcontrolid="form" />
        <xsd:attribute name="name" />
    </xsd:complexType>
</xsd:element>

<xsd:element name="schema-form-fields">
    <xsd:complexType mixed="true">
        <xsd:attribute name="fields" type="xsd:string" use="required" />
        <xsd:attribute name="model" type="xsd:string" use="required" />
        <xsd:attribute name="schema" type="xsd:string" use="required" />
    </xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)