2012-08-04 9 views
10

El editor de html de Visual Studio 2012 insiste en darme advertencias para los nombres de etiqueta que no se encuentran en el esquema html detectado o configurado.¿Cómo proporciono la validación de las etiquetas modificadas en el editor de Visual Studio 2012 html?

Como uso AngularJs de Google, este comportamiento no es conveniente, ya que hace un buen uso del hecho de que todos los principales navegadores permitirán que las etiquetas personalizadas se ingresen en el DOM.

¿Hay alguna manera de proporcionar un esquema de validación personalizado, o estoy atrapado con un esquema codificado proporcionado por Microsoft?


Tenga en cuenta

Soy consciente de que se puede desactivar por completo la validación desmarcando Herramientas-> Opciones-> Text Editor-> en HTML> validation-> Mostrar errores. Sin embargo, no quiero deshabilitar la validación por completo.

Respuesta

6

Si usted está dispuesto para editar su archivo de reglas de validación, C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\schemas\html\html_5.xsd, puede eliminar los errores de validación relacionados con las directivas de elementos de Angularjs.

Primero haga una copia de seguridad del archivo xsd original. Defina su elemento y agréguelo al archivo. Enmiende los elementos parentales relacionados según sea necesario. Guarde y reinicie VS2012. Su directiva de elementos ya no generará errores de validación HTML5.

Por ejemplo, dada una directiva elemento 'esquema-form-campos de los que:

  1. nidos dentro de un conjunto de campos
  2. requiere 'campo' atributos, 'modelo' y 'esquema'

Las siguientes declaraciones modificadas fieldset y new schema-form-fields eliminan los errores de validación no deseados.

<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> 
+0

Agregar esto rompió el resto de los esquemas de campo html para mí. – Demodave

3

No sé si entiendo su pregunta correctamente.

Si dice que VS2012 siempre muestra un error en ng-attribute, aquí está la solución.

  1. añadir Data- antes ng-, por lo que será datos ng- *

  2. instalar esta AngularJS intellisense support.

Para tratar VS2010 this

+0

La pregunta es acerca de las advertencias VS para los elementos de directivas personalizadas (no atributos). La herramienta a la que hace referencia es imprescindible para el desarrollo angular en VS, pero no resuelve el problema específico en cuestión. – ThisGuy

Cuestiones relacionadas