Convalida del codice in Visual Web Developer
Aggiornamento: novembre 2007
Quando si modifica il codice in visualizzazione Origine della finestra di progettazione Web di Visual Studio, l'editor verifica continuamente che il codice creato sia valido. La convalida del codice è paragonabile al controllo ortografico eseguito in un programma di elaborazione testi. L'editor esamina il codice e aggiunge linee rosse ondulate sotto gli elementi o gli attributi non validi.
L'editor determina quali sono gli elementi validi in base allo schema di convalida selezionato. Se ad esempio il browser corrente è stato impostato su Internet Explorer 6, l'editor confronta il codice della pagina con lo schema che definisce gli elementi HTML validi per Internet Explorer 6. Internet Explorer 6 non richiede che gli attributi dei tag siano racchiusi tra virgolette. Pertanto, nell'esempio di codice riportato di seguito l'attributo text non viene contrassegnato.
<asp:button id="button1" text=Button1 />
Se viceversa lo schema di browser corrente viene cambiato in XHTML 1.0 Transitional, l'editor contrassegna il valore dell'attributo text, perché XHTML richiede che tutti gli attributi siano racchiusi tra virgolette.
Un errore di convalida non impedisce l'esecuzione della pagina ma fornisce semplicemente l'indicazione che il codice della pagina non è conforme allo schema di browser corrente.
Selezione di uno schema di browser
In Visual Studio sono disponibili gli schemi per i browser utilizzati più di frequente, ad esempio Netscape Navigator e Internet Explorer, e per gli standard comuni, quale XHTML Transitional 1.0. È possibile selezionare uno schema dall'elenco a discesa della barra degli strumenti Modifica origine HTML. In alternativa, è possibile selezionare uno schema di convalida nella finestra di dialogo Opzioni. Per informazioni dettagliate, vedere Procedura: selezionare gli schemi di convalida per la modifica HTML in Visual Web Developer.
Visualizzazione degli errori di convalida
Nell'editor gli errori di convalida vengono visualizzati nei seguenti modi:
Elementi sottolineati Gli elementi o gli attributi non validi sono sottolineati con linee rosse ondulate.
Descrizioni comandi Se si posiziona il puntatore del mouse su un elemento sottolineato, verrà visualizzata una descrizione comandi con i dettagli dell'errore.
Elenco errori Se la finestra Elenco errori è aperta, è possibile visualizzare un elenco degli errori di convalida. Fare doppio clic su un errore in questa finestra per passare direttamente all'errore nell'editor.
Controlli di convalida effettuati
Durante la convalida del codice vengono effettuati i seguenti controlli:
Tag consentiti Alcuni schemi di browser supportano tag che non sono consentiti in altri. Il tag <blink>, ad esempio, è supportato solo nei browser Netscape, quindi viene contrassegnato come non valido negli altri schemi.
Attributi consentiti Durante la convalida viene verificato se gli attributi presenti in un elemento sono consentiti per tale elemento.
Attributi richiesti Durante la convalida viene verificato se gli eventuali attributi richiesti sono inclusi. In XHTML, ad esempio, il tag <script> deve includere un attributo type.
Valori degli attributi consentiti Se un attributo supporta solo determinati valori enumerati, ad esempio true o false, durante la convalida gli eventuali valori con conformi a quelli consentiti vengono contrassegnati.
Valori CSS consentiti Durante la convalida viene verificato se i valori CSS per l'attributo style sono consentiti.
Elementi figlio consentiti Durante la convalida viene verificato se gli elementi figlio sono consentiti per un dato elemento padre.
Utilizzo corretto delle virgolette intorno ai valori degli attributi A seconda dello schema selezionato, potrebbe essere necessario racchiudere i valori degli attributi tra virgolette. Per gli schemi in cui le virgolette non sono richieste, durante la convalida viene verificata la corrispondenza delle virgolette che racchiudono un valore. Per gli schemi in cui le virgolette sono facoltative, viene effettuata una verifica in base alle opzioni di convalida impostate. Vedere la sezione "Personalizzazione della convalida" più avanti in questo argomento.
Regole per le maiuscole/minuscole A seconda dello schema selezionato, potrebbe essere necessario specificare i nomi di elementi e attributi in lettere minuscole. Se lo schema consente l'utilizzo di lettere maiuscole o minuscole nei nomi, viene effettuata una verifica in base alle opzioni di convalida impostate. Vedere la sezione "Personalizzazione della convalida" più avanti in questo argomento.
ID elemento univoci Durante la convalida viene verificato se gli ID elemento sono univoci nell'intera pagina.
Correttezza del formato degli elementi Durante la convalida viene verificato se tutti i tag di apertura dispongono dei corrispondenti tag di chiusura, se richiesto dallo schema.
Ordine di apertura e chiusura degli elementi Durante la convalida viene verificato che gli elementi di apertura e chiusura non siano incrociati, ad esempio <b><i>text</b></i>.
Tag o attributi non aggiornati In uno schema quale XHTML 1.0 Transitional, i tag come <font> vengono contrassegnati con un messaggio di errore indicante che tali tag non sono più consigliati.
Destinazioni valide per grafica e collegamenti ipertestuali relativi Durante la convalida viene verificata la validità di eventuali destinazioni relative rispetto al sito corrente, mentre non viene verificata la validità degli URL completi.
Convalida e generazione
La convalida e la generazione sono due operazioni distinte. Quando si lavora nella finestra di progettazione, il codice viene aggiunto alla pagina, ovvero generato. Il codice creato dalla finestra di progettazione non è determinato dallo schema di browser corrente. Al contrario, nella finestra di progettazione di pagine Web di Visual Studio viene sempre generato codice compatibile con XHTML 1.1. Per informazioni dettagliate, vedere XHTML in Visual Web Developer.
Convalida dell'output della pagina
Durante la convalida viene verificato il codice della pagina nella finestra di progettazione. Non è possibile garantire che quando la pagina verrà eseguita nel browser il relativo output venga convalidato rispetto a uno schema specifico. I singoli controlli server ASP.NET e la pagina stessa eseguono il rendering del codice, e talvolta dello script, nella pagina quando questa viene elaborata. Questo output non è accessibile alla convalida nella finestra di progettazione.
Il codice e gli script creati in fase di esecuzione saranno validi per la maggior parte dei browser. Le pagine e i controlli server ASP.NET eseguono il rendering del codice compatibile con XHTML 1.1. La maggior parte degli attuali browser è basata su standard, in particolare XHTML, anziché supportare tag specifici del browser. Poiché l'output XHTML è compatibile con la maggior parte dei browser, il codice sottoposto a rendering in fase di esecuzione dalla pagina e dai controlli sarà valido.
Per ulteriori informazioni, vedere ASP.NET e XHTML.
Convalida e IntelliSense
La specifica di un browser di destinazione controlla non solo la convalida ma anche l'elenco dei tag e degli attributi disponibili in IntelliSense. Lo schema di Internet Explorer 3.02, ad esempio, non offre attributi di stile perché questo browser non li supporta. Analogamente, lo schema XHTML 1.0 Transitional non offre il tag <font>, perché i tag <font> sono obsoleti in XHTML.
Personalizzazione della convalida
A seconda dello schema di browser in uso, potrebbe essere possibile specificare ulteriori opzioni di convalida. Se ad esempio si utilizza lo schema di Internet Explorer 6, è possibile specificare se durante la convalida debbano essere contrassegnati i nomi di elementi e attributi non riportati in lettere minuscole. Per informazioni dettagliate, vedere Procedura: impostare le opzioni di convalida per la modifica HTML in Visual Web Developer.
Disattivazione della convalida
Se non si desidera utilizzare la convalida, è possibile disattivarla. Per informazioni dettagliate, vedere Procedura: impostare le opzioni di convalida per la modifica HTML in Visual Web Developer.
Convalida di più spazi dei nomi
In una pagina Web è possibile includere blocchi di codice dichiarati con il relativo spazio dei nomi. Una pagina Web ASP.NET potrebbe ad esempio contenere un blocco di codice XML incorporato che include una dichiarazione per lo spazio dei nomi in cui sono definiti gli elementi XML. In tal caso, la convalida è basata sulla combinazione dello schema della pagina corrente e dello spazio dei nomi per il blocco incorporato.
Vedere anche
Attività
Procedura: selezionare gli schemi di convalida per la modifica HTML in Visual Web Developer