There is a known issue with Graph Validator where it can only resolve a cloned object itself, but not variables derived from it ( uidata variables, c:set, alias etc ). If you need to validate variables in the iterator, a loop variable is needed to explicitly reference fields. This workaround does not work when used in nested composite components.
Validation will not use the values input into the form when the bug occurs. This only happens when a class-level constraint exists on the class used int he iterable field.
This JIRA is for the latter issue, but an issue should also be created for the original variant of the problem.