import { registerDecorator, ValidationArguments, ValidationOptions, ValidatorConstraint, ValidatorConstraintInterface } from 'class-validator'; export function IsNotEmptyCustom(validationOptions?: ValidationOptions) { return (object: any, propertyName: string) => { registerDecorator({ target: object.constructor, propertyName, options: validationOptions, validator: IsNotEmptyCustomConstraint, }); }; } @ValidatorConstraint({ name: 'IsNotEmptyCustom' }) export class IsNotEmptyCustomConstraint implements ValidatorConstraintInterface { validate(value: any, validationArguments?: ValidationArguments) { if( typeof value == "undefined" || value == undefined || value == null || value === "" ){ return false } else { return true } } defaultMessage(validationArguments?: ValidationArguments): string { return "validation.CAN_NOT_BE_EMPTY" // return "{"+validationArguments.property + "} " + "response.message.emptyInputIsNotAccepted } }