Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save skylock/05615018b7350ce130309bbd2d57cad7 to your computer and use it in GitHub Desktop.
Save skylock/05615018b7350ce130309bbd2d57cad7 to your computer and use it in GitHub Desktop.
Get all validation errors for Angular FormGroup
import {FormGroup, ValidationErrors} from '@angular/forms';
export interface IFormError {
control: string;
error: string;
value: any;
}
export function getFormValidationErrors(form: FormGroup) {
const result = [];
Object.keys(form.controls).forEach(key => {
const formProperty = form.get(key);
if (formProperty instanceof FormGroup) {
result.push(...getFormValidationErrors(formProperty))
}
const controlErrors: ValidationErrors = formProperty.errors;
if (controlErrors) {
Object.keys(controlErrors).forEach(keyError => {
result.push({
'control': key,
'error': keyError,
'value': controlErrors[keyError]
});
});
}
});
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment