Validação condicional no modelo em MVC

Eu tenho uma visão e modelo que eu uso para a edição e a página de inserção de um registro. Um dos requisitos de negócios é que um determinado campo é necessário na edição, mas não no novo. Originalmente, antes que esse recurso específico fosse adicionado ao docket, eu tinha o modelo assim:

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

Eu gostaria de remover a propriedade necessária se for um formulário de inserção ou adicioná-lo se for um formulário de edição. Qual é a melhor abordagem? Toda a minha outra validação é feita como acima. Ou posso alterar o estado do modelo? Pensamentos?

EDITAR

Algo que devo esclarecer é que ainda é permitido inserir um custo em novo, apenas não é obrigatório.

questionAnswers(4)

yourAnswerToTheQuestion