• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript class-validator.validate函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中class-validator.validate函数的典型用法代码示例。如果您正苦于以下问题:TypeScript validate函数的具体用法?TypeScript validate怎么用?TypeScript validate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了validate函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: createUser

    public static async createUser (ctx: BaseContext) {

        // get a user repository to perform operations with user
        const userRepository: Repository<User> = getManager().getRepository(User);

        // build up entity user to be saved
        const userToBeSaved: User = new User();
        userToBeSaved.name = ctx.request.body.name;
        userToBeSaved.email = ctx.request.body.email;

        // validate user entity
        const errors: ValidationError[] = await validate(userToBeSaved); // errors is an array of validation errors

        if (errors.length > 0) {
            // return bad request status code and errors array
            ctx.status = 400;
            ctx.body = errors;
        } else {
            // save the user contained in the POST body
            const user = await userRepository.save(userToBeSaved);
            // return created status code and updated user
            ctx.status = 201;
            ctx.body = user;
        }
    }
开发者ID:ryanwild,项目名称:node-typescript-koa-rest,代码行数:25,代码来源:user.ts


示例2: beforeInsert

 async beforeInsert(event: InsertEvent<any>) {
     const validateErrors = await validate(event.entity)
     if (validateErrors.length > 0) {
         return Promise.reject({
             status: 403,
             message: getErrorMessage(validateErrors),
             error: validateErrors
         })
     }
 }
开发者ID:ascoders,项目名称:wokugame,代码行数:10,代码来源:validator.ts


示例3: transform

 async transform(value, metadata: ArgumentMetadata) {
   const { metatype } = metadata;
   if (!metatype || !this.toValidate(metatype)) {
     return value;
   }
   const object = plainToClass(metatype, value);
   const errors = await validate(object);
   if (errors.length > 0) {
     throw new BadRequestException('Validation failed');
   }
   return value;
 }
开发者ID:SARAVANA1501,项目名称:nest,代码行数:12,代码来源:validation.pipe.ts


示例4: transform

 async transform(value: any, metadata: ArgumentMetadata) {
     const { metatype } = metadata;
     if (!metatype || !this.toValidate(metatype)) {
         return value;
     }
     const object = plainToClass(metatype, value);
     const errors = await validate(object);
     if (errors.length > 0) {
         console.log('Got these validation errors: ', errors);
         throw new HttpException('Validation failed', HttpStatus.BAD_REQUEST);
     }
     return value;
 }
开发者ID:loki2302,项目名称:nodejs-experiment,代码行数:13,代码来源:my-validation.pipe.ts


示例5: beforeUpdate

 async beforeUpdate(event: UpdateEvent<any>) {
     const validateErrors = await validate(event.entity, {
         // 更新操作不会验证没有涉及的字段
         skipMissingProperties: true
     })
     if (validateErrors.length > 0) {
         return Promise.reject({
             status: 403,
             message: getErrorMessage(validateErrors),
             error: validateErrors
         })
     }
 }
开发者ID:ascoders,项目名称:wokugame,代码行数:13,代码来源:validator.ts


示例6: function

 return function(
     request: express.Request,
     response: express.Response,
     next: express.NextFunction
 ): any {
     return validate(new type(request.body))
         .then((errors: ValidationError[]) => {
             if (errors.length) {
                 response.status(400).json(errors);
             } else {
                 next();
             }
         });
 };
开发者ID:BCotrim,项目名称:chocobo-api,代码行数:14,代码来源:request-validator.service.ts


示例7: transform

    async transform(value: any, metadata: ArgumentMetadata) {
        const { metatype } = metadata;
        if (!metatype || !this.toValidate(metatype)) {
            return value;
        }

        const object = plainToClass(metatype, value);
        const errors = await validate(object);
        if (errors.length > 0) {
            let e = this.List['bad_request'];
            throw new HttpException(e, e.status);
        }
        return value;
    }
开发者ID:bapinmalakar,项目名称:nestjs-repo,代码行数:14,代码来源:demo.pipe.ts


示例8: transform

 async transform(value, metadata: ArgumentMetadata) {
   const { metatype } = metadata;
   if (!metatype || !this.toValidate(metatype)) {
     return value;
   }
   const object = plainToClass(metatype, value);
   const errors = await validate(object, { whitelist: true });
   if (errors.length > 0) {
     errors.forEach(err => {
       throw new BadRequestException(err.constraints);
     });
   }
   return object;
 }
开发者ID:CaptainShisha,项目名称:REST-API,代码行数:14,代码来源:user.validationPipe.ts


示例9: EntityClass

export default async <Entity extends Obj>(EntityClass: ObjectType<Entity>, value?: Entity & any, isUpdate = false): Promise<Entity> => {
    const entityInstance = new EntityClass()

    Object.keys(value).map(key => {
        entityInstance[key] = value[key]
    })

    const validateErrors = await validate(entityInstance, {
        // 更新操作不会验证没有涉及的字段
        skipMissingProperties: isUpdate
    })

    if (validateErrors.length > 0) {
        throw Error(validateErrors.toString())
    }

    return entityInstance
}
开发者ID:ascoders,项目名称:wokugame,代码行数:18,代码来源:index.ts


示例10: transform

 //PipeTransform介面有transform(),這可以轉換input data並回傳
 async transform(value, metadata: ArgumentMetadata) {
     const { metatype } = metadata;
     /*不檢查原生JavaScript的型別,因為刻意寫ValidationPipe,就是要使用自定義的DTO class
     的屬性去做參數型別檢查,如果metatype是原生JavaScript的型別,就直接return 原始參數,
     不做ValidationPipe的檢查。
     */
     if (!metatype || !this.toValidate(metatype)) {
         return value;
     }
     //這裡使用class-transformer的方法,將plain javascript object(像是JSON object),轉換成一個class的object。        
     const object = plainToClass(metatype, value);
     //在CreateUserDTO,我們有使用class-validator的驗證裝飾器,validate()會回傳錯誤陣列。
     const errors = await validate(object);
     if (errors.length > 0) {
         console.log('validate errors',errors);
         throw new HttpException('檢驗錯誤', HttpStatus.BAD_REQUEST);
     }
     //ValidationPipe是特別打造出來檢驗型別用,最後要回傳原始參數,避免覆寫。
     return value;
 }
开发者ID:fanybook,项目名称:Nestjs30Days,代码行数:21,代码来源:validation.pipe.ts



注:本文中的class-validator.validate函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript classnames.default函数代码示例发布时间:2022-05-24
下一篇:
TypeScript class-transformer.plainToClass函数代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap