mirror of
https://github.com/Thream/website.git
synced 2024-07-21 09:28:32 +02:00
20 lines
562 B
TypeScript
20 lines
562 B
TypeScript
import type { ErrorObject } from 'ajv'
|
|
|
|
const knownErrorKeywords = ['minLength', 'maxLength', 'format']
|
|
|
|
export const getErrorTranslationKey = (error: ErrorObject): string => {
|
|
if (knownErrorKeywords.includes(error?.keyword)) {
|
|
if (error.keyword === 'minLength' && error.params.limit === 1) {
|
|
return 'errors:required'
|
|
}
|
|
if (error.keyword === 'format') {
|
|
if (error.params.format === 'email') {
|
|
return 'errors:email'
|
|
}
|
|
return 'errors:invalid'
|
|
}
|
|
return `errors:${error.keyword}`
|
|
}
|
|
return 'errors:invalid'
|
|
}
|