is_valid validates all related data recursively