私は NestJS で class-validator パッケージを使用しており、同じレイアウトを持つ正確に 2 つのオブジェクトを持つ必要があるオブジェクトの配列を検証しようとしています:
これまでのところ、私は持っています:
import { IsString, IsNumber } from 'class-validator';
export class AuthParam {
@IsNumber()
id: number;
@IsString()
type: string;
@IsString()
value: string;
}
と
import { IsArray, ValidateNested } from 'class-validator';
import { AuthParam } from './authParam.model';
export class SignIn {
@IsArray()
@ValidateNested({ each: true })
authParameters: AuthParam[];
}
@kamilg応答ごと(正確に2つの要素を適用できます):
import { IsArray, ValidateNested, ArrayMinSize, ArrayMaxSize } from 'class-validator';
import { AuthParam } from './authParam.model';
export class SignInModel {
@IsArray()
@ValidateNested({ each: true })
@ArrayMinSize(2)
@ArrayMaxSize(2)
authParameters: AuthParam[];
}
空の配列または AuthParam に関連しない他のオブジェクトを含む配列を渡すことはできます。
どのように変更して検証を取得する必要がありますか?
また、配列に必須の 2 つの要素を強制するにはどうすればよいですか? MinLength(2) は文字列に関するものと思われます... (解決済み)