I'd probably place the validation rule on the parent object, attach it to the property name equal to that of the collection's property name - and then attach an event handler to the collection's listchanged event - at which point I would raise PropertyHasChanged for the property name (on the parent) -- the validation rule attached would simply look at the count of the collection and determine it's broken status.
i.e. your broken rule doesn't exist on the collection persay - it's a broken rule for parent of the collection. Collections don't have the capacity for having broken rules themselves.
Ditto.
The BO that contains the collection should have the rule.
Copyright (c) Marimer LLC