This implementation is wrong as it does not recurse into children to add errors for their own children (a Form is a tree structure, not a flat list of fields)