def validate_fields_only(self, val):
for field_name in self.definition._all_field_names_:<EOL><INDENT>if not hasattr(val, field_name):<EOL><INDENT>raise ValidationError("<STR_LIT>" %<EOL>field_name)<EOL><DEDENT><DEDENT>
To pass field validation, no required field should be missing.

This method assumes that the contents of each field have already been
validated on assignment, so it's merely a presence check.

FIXME(kelkabany): Since the definition object does not maintain a list
of which fields are required, all fields are scanned.