В дополнение к ответу Фи вы можете комбинировать использование class-validator
со следующим глобальным каналом проверки:
app.useGlobalPipes(
new ValidationPipe({
/*
If set to true, instead of stripping non-whitelisted
properties validator will throw an exception.
*/
forbidNonWhitelisted: true,
/*
If set to true, validator will strip validated (returned)
object of any properties that do not use any validation decorators.
*/
whitelist: true,
}),
);
Я использую это для того, чтобы разрешить только параметры, определенные в классе DTO, чтобыон выдаст ошибку, когда неизвестные параметры будут отправлены с запросом!
В примере с Phie запрос на публикацию с телом, подобным {password: 'mypassword'}
, пройдет проверку, когда {password: 'mypassword', other: 'reject me!'}
не пройдёт.