2023-09-15 13:47:36 +02:00

22 lines
657 B
TypeScript

import { registerDecorator, ValidationOptions } from 'class-validator'
export function isValidDateString(validationOptions?: ValidationOptions) {
// eslint-disable-next-line @typescript-eslint/ban-types
return function (object: Object, propertyName: string) {
registerDecorator({
name: 'isValidDateString',
target: object.constructor,
propertyName,
options: validationOptions,
validator: {
validate(value: string): boolean {
return !isNaN(Date.parse(value))
},
defaultMessage(): string {
return `${propertyName} must be a valid date string`
},
},
})
}
}