From 29305d7545637b4cce3f8e4f3f9da0417ee8319c Mon Sep 17 00:00:00 2001 From: L4168 <L4168@student.jamk.fi> Date: Thu, 27 Jun 2019 11:43:51 +0300 Subject: [PATCH] custom validation for uuid and null --- src/shared/uuid.validation.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/shared/uuid.validation.ts diff --git a/src/shared/uuid.validation.ts b/src/shared/uuid.validation.ts new file mode 100644 index 0000000..c8c791a --- /dev/null +++ b/src/shared/uuid.validation.ts @@ -0,0 +1,19 @@ +import { + ValidatorConstraint, + ValidatorConstraintInterface, + ValidationArguments, + Validator, +} from 'class-validator'; + +// check if input is null or valid uuid +@ValidatorConstraint({ name: 'uuid', async: true }) +export class Uuid implements ValidatorConstraintInterface { + validate(uuid: string, args: ValidationArguments) { + const validator = new Validator(); + return validator.isUUID(uuid, '4') || uuid == null; // for async validations you must return a Promise<boolean> here + } + + defaultMessage(args: ValidationArguments) { + return 'Not valid uuid'; + } +} -- GitLab