Wie kann ich ein Währungsfeld validieren?

Ich habe eine ASP.NET MVC-4-Anwendung mit diesem Währungsfeld:

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}", ConvertEmptyStringToNull = true)]
    [DataType(DataType.Currency)]
    public decimal? Price { get; set; }

Dies ist aus meiner Sicht der entsprechende Teil:

    @Html.EditorFor(model => model.Price)
    @Html.ValidationMessageFor(model => model.Price)

Wenn der Preis 100 Euro beträgt, zeigt das Textfeld in der Ansicht:

100,00 €

Das ist nett.

Aber ich habe Probleme, sobald ich versuche, ein Postback zu machen. Der Validator erscheint und sagt, dass das Preisfeld eine Zahl sein muss.

Ich kann dies nur beheben, wenn (1) ich das € -Symbol lösche und (2) das Dezimaltrennzeichen ersetze (Komma durch einen Punkt ersetzen).

Wenn es keine bessere Lösung gibt, könnte ich das DataFormatString = "{0: F2}" ändern, um das Währungssymbol zu vermeiden.

Aber wie lasse ich den Validator das Komma als Dezimaltrennzeichen anstelle des (amerikanischen) Punkts akzeptieren?

Vielen Dank für Ihre Hilfe, Jungs!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage