Questa mattina, testando un sito realizzato in ASP .NET 2.0, ho notato che la validazione lato client non funzionava correttamente su Firefox, mentre si comportava nel modo atteso con Internet Explorer. Dopo aver eseguito il debug degli script di validazione “in parallelo” sui due browser, ho notato che una certa proprietà (per i più curiosi, val.evaluationfunction) restituiva valori diversi su Explorer e Firefox: era a causa sua che la validazione su FF non veniva eseguita. Dopo alcune indagini, ho scoperto che la causa del problema era il tag xhtmlConformance presente nel web.config:
<xhtmlConformance mode="Legacy"/>
Con questa impostazione, in pratica, la validazione lato client in Firefox viene disabilitata. Chi fosse interessato ai dettagli di questo comportamento, può trovare maggiori informazioni qui: http://aspadvice.com/blogs/rbirkby/archive/2006/11/01/Client_2D00_side-validation-in-Firefox.aspx. Ad ogni modo, l’importante è che, rimuovendo tale linea, tutto ha ripreso a funzionare alla perfezione.