Let's just say I have A ViewModel that is made up of 3 other ViewModels. One contains a list of items, the other contains an instance of a class with a [Required] attribute and then another list of other items.
If the user selects from one of the items in either of the two lists, I do not want the [Required] attribute on the 2nd object to cause the ModelState to be invalid, because if the user selects one of those items they won't need to fill out the form with the item with the [Required] attribute.
How can I solve this problem?