const param1: AuthParam = Object.assign(new AuthParam(), {
id: 1,
type: 'grant',
value: 'password'
})
const param2: AuthParam = Object.assign(new AuthParam(), {
id: 1,
type: 4,
value: 'password'
})
const signInTest = new SignInModel()
signInTest.authParameters = [param1, param2]
validate(signInTest).then(e => {
console.log(e[0].children[0].children[0])
})
Это работает правильно, это:
ValidationError {
target: AuthParam { id: 1, type: 4, value: 'password' },
value: 4,
property: 'type',
children: [],
constraints: { isString: 'type must be a string' } }
, поэтому я могу только предположить, что проверяемый объект не является экземпляром из AuthParam
const param2: AuthParam = {
id: 1,
type: 4,
value: 'password'
} as any
Как и ожидалось, на этом объекте нет декораторов (что может быть справедливо для контроллеров Nest.js и вложенных объектов из body / req) - поэтому проверка игнорируется.
Пожалуйстаотметьте this (tl; dr - @Type
форма декоратора class-transformer
)