import { ArrayMaxSize, ArrayMinSize, IsArray, IsBoolean, IsString, ValidateNested } from "class-validator";
import { Transform, Type } from "class-transformer";
class CreateAnswerDto {
@IsBoolean()
readonly isTrue: string;
@IsString()
title: string;
@IsString()
description: string;
}
const transformAnswers = answers => {
return JSON.parse(answers.value);
};
export class CreateQuestionDto {
@Transform(transformAnswers, { toClassOnly: true })
@IsArray()
@ArrayMinSize(4)
@ArrayMaxSize(4)
@ValidateNested({ each: true })
@Type(() => CreateAnswerDto)
readonly answers: CreateAnswerDto[];
@IsString()
readonly title: string;
}
Run Code Online (Sandbox Code Playgroud)
所以我有相同的代码,并且我想验证答案中的每个对象字段,但此代码不起作用。如果我发送了错误的数据,则此验证会跳过它。我怎样才能正确验证我的答案?
谢谢你的帮助!