Ich bin neu in MVC. Ich habe eine Enumeration für UnitOfMeasure
in meiner Ingredient Tabelle wie folgt definiert:Enum speichern fehlgeschlagen, Fehlermeldung nicht angezeigt
public enum UnitOfMeasure
{
oz=1,
lb=2,
ml=3,
liter=4,
gal=5
}
ich das entsprechende Feld definiert haben, wie folgt:
[Required]
[Range(1, int.MaxValue, ErrorMessage = "Please make a selection")]
public UnitOfMeasure? UnitOfMeasure { get; set; }
„Bitte wählen“, je nach Wunsch, als die angezeigte Standardwert in der Ansicht, aber ich möchte, dass der Benutzer vor dem Speichern eine Auswahl treffen muss. Ich verwende EnumDropDownListFor
wie folgt in der Ansicht.
@Html.EnumDropDownListFor(model => model.UnitOfMeasure,
"--Please select--",
new { @class = "form-control" })
Zwei Probleme. Erstens erscheint die Fehlermeldung nicht, wenn der Benutzer keine Auswahl trifft, und zweitens kann ich keine Auswahl speichern (anscheinend trifft keine Auswahl auf das Bereichskriterium zu). Was mache ich falsch?
Entfernen Sie das '[Range (1, int.MaxValue, ErrorMessage =" Bitte treffen Sie eine Auswahl ")]' Attribut. Alles, was benötigt wird, ist Ihr '[Required]' Attribut (und fügen Sie die 'ErrorMessage' in diesem Attribut hinzu. Und haben Sie' @ValidationMessageFor (m => m.UnitOfMeasure) 'eingeschlossen, um die Nachricht anzuzeigen? –
Das hat es behoben Danke Stephen! –