I have a view & model that I use for both the edit and the insert page for a record. One of the business requirements is that a certain field is required on edit but not
There is the MVC Foolproof library: http://foolproof.codeplex.com/
For example you would need to have something like this in your model:
[RequiredIfTrue("Required", ErrorMessage = "*")]
[Range(0.0, (double)decimal.MaxValue)]
[DisplayName("Cost")]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public decimal ProposedCost { get; set; }
public bool Required { get; set; }
You would then need to set the Required property based on which form the model is going to.
You will also need a hidden input field on the form to represent the Required property if you wish to perform client side validation.
Hope that helps...