Я использовал декоратор @Transform
из class-transformer
для очистки определенных полей в пользовательском вводе.
import { IsString } from "class-validator";
import { Transform } from "class-transformer";
export class SearchRequestDto {
@Transform((data) => data.value && sanitizeRegex(data.value))
@IsString()
readonly term: string = '';
}
Как я могу создать новый декоратор, чтобы добавить этот преобразователь в DTO более прямолинейно. Так:
export class SearchRequestDto {
@Regex()
@IsString()
readonly term: string = '';
}
Вы можете создать Custom Decorator, который выглядит так:
export const Regex = () => Transform((data) => data.value && sanitizeRegex(data.value))
А затем используйте его так, как вы хотели:
export class SearchRequestDto {
@Regex()
@IsString()
readonly term: string = '';
}