Est-il correct d'utiliser ModelState.Remove pour gérer ModelState?

Je travaille sur un gros MVC3 application web et avoir une gêne au sujet de la ModelState.IsValid méthode.

ModelState est utilisé dans presque tous mes contrôleurs afin de valider les données affichées.
Les points de vue sont tous basés sur le Viewmodel qui contiennent différentes classes et ces classes contiennent des propriétés qui pourraient être marqués comme [Required].

Le problème que j'ai est les propriétés requises sont parfois pas nécessaire, et je vais avoir à utiliser la ModelState.Remove méthode afin que ModelState.IsValid devient vrai.

Ma question est par l'utilisation de ModelState.Removeest-ce la bonne façon de faire les choses ou est-il une approche plus efficace.

source d'informationauteur Hesky