Is there any way to ignore some properties (on a POCO) when validating a form in ASP.NET MVC3?

You can use the Bind Attribute for this: http://ittecture.wordpress.com/2009/05/01/tip-of-the-day-199-asp-net-mvc-defining-model-binding-explicitly/

A better option would be to use ViewModels.

http://weblogs.asp.net/shijuvarghese/archive/2010/02/01/view-model-pattern-and-automapper-in-asp-net-mvc-applications.aspx


In the action just remove the errors for the items not yet checked for. This then makes your model valid for the items already checked

foreach (var error in ModelState["Avatar"].Errors)
 {
      ModelState["Avatar"].Errors.Remove(error);
 }

or

ModelState["Avatar"].Errors.Clear();

To ignore the properties from ModelState, here is the simplest code.

if (ModelState["PropertyName"] != null) ModelState["PropertyName"].Errors.Clear();