diff --git a/src/metadata/ValidationMetadata.ts b/src/metadata/ValidationMetadata.ts index e370e5e56c..c1b1acce82 100644 --- a/src/metadata/ValidationMetadata.ts +++ b/src/metadata/ValidationMetadata.ts @@ -14,6 +14,11 @@ export class ValidationMetadata { */ type: string; + /** + * Validator name. + */ + name?: string; + /** * Target class to which this validation is applied. */ @@ -70,6 +75,7 @@ export class ValidationMetadata { constructor(args: ValidationMetadataArgs) { this.type = args.type; + this.name = args.name; this.target = args.target; this.propertyName = args.propertyName; this.constraints = args?.constraints; diff --git a/src/metadata/ValidationMetadataArgs.ts b/src/metadata/ValidationMetadataArgs.ts index 69e5a34885..ff28b3e0af 100644 --- a/src/metadata/ValidationMetadataArgs.ts +++ b/src/metadata/ValidationMetadataArgs.ts @@ -9,6 +9,11 @@ export interface ValidationMetadataArgs { */ type: string; + /** + * Validator name. + */ + name?: string; + /** * Object that is used to be validated. */ diff --git a/src/register-decorator.ts b/src/register-decorator.ts index 10b5cee5eb..ffe4bf86a5 100644 --- a/src/register-decorator.ts +++ b/src/register-decorator.ts @@ -76,6 +76,7 @@ export function registerDecorator(options: ValidationDecoratorOptions): void { const validationMetadataArgs: ValidationMetadataArgs = { type: options.name && ValidationTypes.isValid(options.name) ? options.name : ValidationTypes.CUSTOM_VALIDATION, + name: options.name, target: options.target, propertyName: options.propertyName, validationOptions: options.options, diff --git a/src/validation-schema/ValidationSchema.ts b/src/validation-schema/ValidationSchema.ts index 5a0aa0b5ca..f76fec6807 100644 --- a/src/validation-schema/ValidationSchema.ts +++ b/src/validation-schema/ValidationSchema.ts @@ -21,6 +21,11 @@ export interface ValidationSchema { */ type: string; + /** + * Validator name. + */ + name?: string; + /** * Constraints set by validation type. */ diff --git a/src/validation-schema/ValidationSchemaToMetadataTransformer.ts b/src/validation-schema/ValidationSchemaToMetadataTransformer.ts index 09901592fc..7739b6da92 100644 --- a/src/validation-schema/ValidationSchemaToMetadataTransformer.ts +++ b/src/validation-schema/ValidationSchemaToMetadataTransformer.ts @@ -19,6 +19,7 @@ export class ValidationSchemaToMetadataTransformer { }; const args: ValidationMetadataArgs = { type: validation.type, + name: validation.name, target: schema.name, propertyName: property, constraints: validation.constraints,