首页 > 其他分享 >使用 Validation

使用 Validation

时间:2024-03-26 11:02:27浏览次数:25  
标签:string Column 使用 import post Validation class

使用 Validation

要使用验证,请使用class-validator。 示例如何在 TypeORM 中使用 class-validator:

import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
import { Contains, IsInt, Length, IsEmail, IsFQDN, IsDate, Min, Max } from "class-validator";

@Entity()
export class Post {
@PrimaryGeneratedColumn()
id: number;

@Column()
@Length(10, 20)
title: string;

@Column()
@Contains("hello")
text: string;

@Column()
@IsInt()
@Min(0)
@Max(10)
rating: number;

@Column()
@IsEmail()
email: string;

@Column()
@IsFQDN()
site: string;

@Column()
@IsDate()
createDate: Date;
}
 

验证:

import { getManager } from "typeorm";
import { validate } from "class-validator";

let post = new Post();
post.title = "Hello"; // 不应该通过
post.text = "this is a great post about hell world"; //不应该通过
post.rating = 11; //不应该通过
post.email = "google.com"; //不应该通过
post.site = "googlecom"; //不应该通过

const errors = await validate(post);
if (errors.length > 0) {
throw new Error(`Validation failed!`);
} else {
await getManager().save(post);
}

标签:string,Column,使用,import,post,Validation,class
From: https://www.cnblogs.com/sexintercourse/p/18096104

相关文章

  • Cocos实例3:VideoPlayer组件使用常见问题集
    VideoPlayer组件使用常见问题集Q1:为什么视频不能自动播放?即使勾选了PlayOnAwake属性。首先要确定是不是平台限制,在Web平台下,某些浏览器出于安全性和用户体验考虑,会阻止网页内嵌视频自动播放音频。在这种情况下,即使设置了playOnAwake也可能不会自动播放,除非用户有交互行......
  • python @property的介绍与使用
    python@property的介绍与使用python的@property是python的一种装饰器,是用来修饰方法的。作用:我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。举例:修饰方法,是方法可以像属性......
  • Ajax 初步使用
    Ajax初步使用目录Ajax初步使用一.Ajax概念二.Ajax初步使用2.1发送数据2.2实现计算器2.3后端返回字符串三.Ajax传输数据3.1前后端传输数据的编码格式3.2发送json格式数据3.3发送文件数据3.4django自带的序列化组件3.5ajax结合sweetalert二次确认四.自定义分页器......
  • c语言中的goto语句,goto语句的使用
    在c语言中,goto语句与分支语句if,switch不同,也和循环语句while,for,do...while不同,goto语句被称为无条件转移语句,也被称为转向语句,其实和break,return语句是同一个类型。goto语句的使用一般都需要一个again进行配合,当使用goto语句时,程序会转跳回again处重新运行again后的程序。got......
  • 使用systemd部署r-nacos
    1、前言r-nacos是一个用rust实现的nacos服务。相较于javanacos来说,是一个提供相同功能,启动更快、占用系统资源更小(初始内存小于10M)、性能更高、运行更稳定的服务。r-nacos设计上完全兼容最新版本nacos面向clientsdk的协议(包含1.x的httpOpenApi,和2.x的grpc协议),支持使用nac......
  • 如何使用 JavaScript 导入和导出 Excel
    前言在现代的Web应用开发中,与Excel文件的导入和导出成为了一项常见而重要的任务。无论是数据交换、报告生成还是数据分析,与Excel文件的交互都扮演着至关重要的角色。本文小编将为大家介绍如何在熟悉的电子表格UI中轻松导入Excel文件,并以编程方式修改表格或允许用户进行编辑,最......
  • Java服务器开发的日志:日志的作用和使用方法;日志文件的定期归档、清理和滚动策略;ELK(又
    Java服务器开发的日志Java服务器开发,为什么要使用日志?应该怎样使用日志?在Java服务器开发中使用日志是非常关键的一个实践,原因如下:本文所说的“日志”,主要是指程序运行时生成的技术日志;它在Java服务器开发中的作用和使用方法如下:故障诊断:技术日志主要用于记录程序运......
  • 数据分享|R语言使用核Fisher判别方法、支持向量机、决策树与随机森林研究客户流失情况
    全文链接:https://tecdat.cn/?p=35438原文出处:拓端数据部落公众号分析师:JiaojiaoZhao现在,越来越多的人意识到预测客户的流失与否是一件非常重要的事情。而且比较值得注意的是,留住原有的客户是要比吸引新客户更加容易的,而且成本更低。客户的流失可以从三个不同的方面来考虑。首......
  • 如何使用Python脚本自动化部署和管理物联网设备
    使用Python脚本自动化部署和管理物联网(IoT)设备涉及多个步骤,包括设备发现、配置、固件更新和远程监控。以下是一个简化的流程,展示了如何使用Python脚本来自动化这些任务:设备发现:使用网络发现协议(如UPnP或mDNS)来发现网络上的物联网设备。Python中的PyUPnP或upnpclient库可以......
  • Mac 使用VSCode搭建SpringBoot+Maven开发环境
    Mac使用VSCode搭建SpringBoot+Maven开发环境大多数人在开发java后端时使用的是IntelliJIDEA,该软件商用版收费太贵,社区版功能又太少,所以我希望可以使用VSCode来创建和开发后端项目,搭建的过程如下:1.下载和安装javasdk下载地址:https://www.oracle.com/java/technologies/downl......