Я предполагаю, что вы используете class-transformer
метод validate
в вашем CustomValidationPipe
.
Когда вы передаете ему параметр whitelist
, validate
удалит все неизвестное(-> без аннотации в вашем классе DTO) свойства:
validate(userUpdate, { whitelist: true })
Если вы хотите выдать ошибку проверки вместо простого удаления неизвестных свойств, вы можете дополнительно передать параметр forbidNonWhitelisted
.
validate(userUpdate, { whitelist: true, forbidNonWhitelisted: true });
В случае обновления вы, вероятно, также захотите использовать skipMissingProperties: true
, чтобы проверка не выдавала ошибку, когда, например, lastName
не является частью обновления.
Обратите внимание, что вы должны аннотировать все свойства в вашем классе dto, чтобы проверка работала правильно:
@IsString()
lastName: string;
@ValidateNested()
@Type(() => Address)
address: Address