def get_field_errors(self, bound_field):
errors = super(NgFormValidationMixin, self).get_field_errors(bound_field)<EOL>if bound_field.is_hidden:<EOL><INDENT>return errors<EOL><DEDENT>identifier = format_html('<STR_LIT>', self.form_name, self.add_prefix(bound_field.name))<EOL>potential_errors = bound_field.field.get_potential_errors()<EOL>errors.extend([SafeTuple((identifier, self.field_error_css_classes, '<STR_LIT>', pe[<NUM_LIT:0>], '<STR_LIT>', force_text(pe[<NUM_LIT:1>])))<EOL>for pe in potential_errors])<EOL>if not isinstance(bound_field.field.widget, widgets.PasswordInput):<EOL><INDENT>errors.append(SafeTuple((identifier, self.field_error_css_classes, '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>')))<EOL>if bound_field.value():<EOL><INDENT>errors.append(SafeTuple((identifier, self.field_error_css_classes, '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>')))<EOL><DEDENT><DEDENT>return errors<EOL>
Determine the kind of input field and create a list of potential errors which may occur
during validation of that field. This list is returned to be displayed in '$dirty' state
if the field does not validate for that criteria.