2012-08-04 11 views
10

L'editor html di Visual Studio 2012 richiede di fornire avvisi per i nomi di tag non trovati nello schema html rilevato o configurato.Come posso fornire la convalida per i tag modificati nell'editor html di Visual Studio 2012?

Mentre uso AngularJs di Google, questo comportamento non è conveniente in quanto fa buon uso del fatto che tutti i principali browser consentiranno l'inserimento di tag personalizzati nel DOM.

Esiste un modo per fornire uno schema di convalida personalizzato oppure sono bloccato con uno schema hardcoded fornito da Microsoft?


Si prega di notare

mi rendo conto che è possibile disattivare la convalida del tutto deselezionando Strumenti> Opzioni> Testo Editor-> HTML-> Validation-> Mostra errori. Tuttavia, non voglio disabilitare completamente la convalida.

risposta

6

Se siete disposti per modificare il file delle regole di convalida, C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Packages\schemas\html\html_5.xsd, è possibile eliminare gli errori di convalida relativi alle direttive degli elementi Angularjs.

Prima eseguire il backup del file xsd originale. Definisci il tuo elemento e aggiungilo al file. Modificare gli elementi parent relativi se necessario. Salvare e riavviare VS2012. La tua direttiva elemento non genererà più errori di convalida HTML5.

Ad esempio, data una direttiva elemento 'schema-form-fields' che:

  1. nidi all'interno di un fieldset
  2. richiede attributi 'campo', 'modello' e 'schema'

Il seguente fieldset modificato e le nuove dichiarazioni dei campi del modulo schema eliminano errori di convalida indesiderati.

<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

L'aggiunta di questo ha rotto il resto degli schemi di campo html per me. – Demodave

3

Non so se ho capito correttamente la tua domanda.

Se si dice che VS2012 mostra sempre errori sull'attributo ng-, ecco la soluzione.

  1. aggiungere dati- prima ng-, quindi sarà data-ng- *

  2. installare questo AngularJS intellisense support.

Per VS2010 provare this

+0

La domanda riguarda gli avvisi VS per elementi di direttiva personalizzati (non attributi). Lo strumento di riferimento è un must per lo sviluppo angolare in VS, ma non risolve il problema specifico in questione. – ThisGuy

Problemi correlati