Skip to content

Instantly share code, notes, and snippets.

@JohannesHoppe
Last active May 31, 2024 20:55
Show Gist options
  • Save JohannesHoppe/e8d07d63fc345a5fdfdf4fc4989ef2e4 to your computer and use it in GitHub Desktop.
Save JohannesHoppe/e8d07d63fc345a5fdfdf4fc4989ef2e4 to your computer and use it in GitHub Desktop.
Get all validation errors for Angular FormGroup
import { FormGroup, ValidationErrors } from '@angular/forms';
export function getFormValidationErrors(form: FormGroup) {
const result = [];
Object.keys(form.controls).forEach(key => {
const controlErrors: ValidationErrors = form.get(key).errors;
if (controlErrors) {
Object.keys(controlErrors).forEach(keyError => {
result.push({
'control': key,
'error': keyError,
'value': controlErrors[keyError]
});
});
}
});
return result;
}
@stossenbrink
Copy link

You might want to remove that space after the key "control " (drove me crazy)

@JohannesHoppe
Copy link
Author

wow! that's evil! 😄

(fixed)

@domagoj03
Copy link

domagoj03 commented Oct 14, 2019

Thanks. I needed support for nested forms so I forked your gist.
https://gist.github.com/domagoj03/befeb17c17ff3ede2d36b8f59f0ad6a6
It can even be modified to namespace errors depending on form but right now this seems sufficient.

@WildChildForLife
Copy link

WildChildForLife commented Feb 14, 2022

Useful, thanks !

@DavidSmith777
Copy link

This is the best. I have so many nested components it's a pain to hunt down errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment