Files
pfadi-bussle/components/wizard/context/validationError.ts
Thomas Ruoff 00d30a4459 throw custom ValidationError
contains an message formatter, displaying all messages concatinated.
2020-09-15 23:38:13 +02:00

26 lines
588 B
TypeScript

interface ValidationErrors {
[key: string]: { properties: { message: string } }
}
export class ValidationError extends Error {
private errors: ValidationErrors
constructor(errors: ValidationErrors) {
super()
if (Error.captureStackTrace) {
Error.captureStackTrace(this, ValidationError)
}
this.name = this.constructor.name
this.errors = errors
}
get message() {
return Object.entries<{ properties: { message: string } }>(this.errors)
.map(([_key, value]) => {
return `${value?.properties?.message}`
})
.join(',')
}
}