J'ai un formulaire avec une liste déroulante rendue en utilisant Html.DropDownListFor(...)
. Le champ de modèle de vue qui correspond à la liste déroulante est associé à un attribut [Required(...)]
. Cela fonctionne correctement sur ma machine locale, mais dès que je publie sur notre serveur de développement, les listes déroulantes affichent le message d'erreur requis, même lorsqu'une valeur est sélectionnée dans la liste. Cela se produit uniquement dans IE - Firefox soumet très bien.La validation ASP.NET MVC2 ne fonctionne pas avec la liste déroulante dans IE <8
Des pensées?
Code pertinent
Vue:
<ol class="form">
<li>
<%= Html.LabelFor(x => x.ContactTitle) %>
<%= Html.DropDownListFor(x=>x.ContactTitle, Model.GetTitleOptions()) %>
<%= Html.ValidationMessageFor(x => x.ContactTitle) %>
</li>
<!-- more fields... -->
</ol>
Voir Modèle:
[Required(ErrorMessage = "Title is required")]
[DisplayName("Title")]
public string ContactTitle { get; set; }
// ...
public SelectList GetTitleOptions()
{
return new SelectList(new string[]
{
"","Dr.", "Mr.", "Ms.", "Mrs.", "Miss"
});
}
C'est des choses assez basique ... Je suis à une perte. Edit: Juste découvert ce bug est limité à la vue de compatibilité IE 8 (et peut-être des versions antérieures). IE 8 en mode standard fonctionne comme prévu ...