Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs类验证程序验证对象数组_Node.js_Arrays_Validation_Class Validator - Fatal编程技术网

Node.js nodejs类验证程序验证对象数组

Node.js nodejs类验证程序验证对象数组,node.js,arrays,validation,class-validator,Node.js,Arrays,Validation,Class Validator,我有一个像这样的对象数组 [{ name: 'some name' catId: 2, }, { name: 'another name' catId: 3, }] 如何使用进行验证,以便名称字段是必需的,并且每个对象中的长度至少为2个字符 感谢要验证项目数组,您需要使用@ValidateNested({each:true}) 一个完整的例子: import { validate, IsString, MinLength, ValidateNested } from 'clas

我有一个像这样的对象数组

[{
  name: 'some name'
  catId: 2,
}, {
  name: 'another name'
  catId: 3,
}]
如何使用进行验证,以便名称字段是必需的,并且每个对象中的长度至少为2个字符


感谢

要验证项目数组,您需要使用
@ValidateNested({each:true})

一个完整的例子:

import { validate, IsString, MinLength, ValidateNested } from 'class-validator';

class MySubClass {
  @IsString()
  @MinLength(2)
  public name: string;

  constructor(name: string ){
    this.name = name;
  }
}

class WrapperClass {
  @ValidateNested({ each: true })
  public list: MySubClass[];

  constructor(list: MySubClass[]) {
    this.list = list;
  }
}

const subClasses = Array(4)
    .fill(null)
    .map(x => new MySubClass('Test'))

subClasses[2].name = null;

const wrapperClass = new WrapperClass(subClasses);
const validationErrors = await validate(wrapperClass);

这将按预期记录子类[2]的验证错误。

如何在Nest.js控制器中使用它?这对我很有帮助