Bedingte Validierung des Modells in MVC

Ich habe eine Ansicht und ein Modell, die ich sowohl für die Bearbeitungs- als auch für die Einfügeseite für einen Datensatz verwende. Eine der Geschäftsanforderungen besteht darin, dass beim Bearbeiten ein bestimmtes Feld erforderlich ist, beim neuen jedoch nicht. Ursprünglich, bevor dieses spezielle Feature in das Docket aufgenommen wurde, hatte ich das Modell wie folgt:

[Required(ErrorMessage = "*")]
[Range(0.0, (double)decimal.MaxValue)]
[DisplayName("Cost")]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public decimal ProposedCost { get; set; }

Ich möchte entweder die erforderliche Eigenschaft entfernen, wenn es sich um ein Einfügeformular handelt, oder sie hinzufügen, wenn es sich um ein Bearbeitungsformular handelt. Was ist der bessere Ansatz? Alle meine anderen Überprüfungen werden wie oben durchgeführt. Oder kann ich den Modellstatus ändern? Gedanken?

BEARBEITEN

Etwas, was ich klarstellen sollte, ist, dass es ihnen immer noch gestattet ist, neue Kosten einzufügen, nur nicht erforderlich.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage