Validieren der erforderlichen Auswahl in DropDownList
Meiner Ansicht Modell definiert die Eigenschaft, die angezeigt werden, die als combo-box. Eigenschaft-definition ist:
[Required]
public int Processor { get; set; }
Ich bin mit DropDownListFor
zu erbringen combo-box:
<%=Html.DropDownListFor(r => r.Processor, Model.Processors, Model.Processor)%>
Model.Processors
enthält IEnumerable<SelectListItem>
mit einem besonderen Element definiert als:
var noSelection = new SelectListItem
{
Text = String.Empty,
Value = "0"
};
Nun muss ich hinzufügen, um die Validierung zu meiner combo-box, so dass der Benutzer muss wählen Sie einen anderen Preis als 'noSelection'. Ich hoffte für einige Konfiguration RequiredAttribute
aber es hat keinen default-Wert-Einstellung.
InformationsquelleAutor der Frage Ladislav Mrnka | 2011-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie wäre es damit:
Dann:
Und in Ihrem POST-action -
Und jetzt müssen Sie nicht mehr manuell hinzufügen, die
noSelection
Element. Verwenden Sie einfach die richtige DropDownListFor überlastung.InformationsquelleAutor der Antwort Darin Dimitrov
Ein mögliches Problem ist, dass jQuery Validierung nicht laufen irgendwelche Regeln, wenn der Wert ein element ist leer.
Können Sie dies umgehen, indem verlängern der Validierungwenn der Benutzer den Fokus verliert:
InformationsquelleAutor der Antwort KyleMit