node 진영에서 자주 쓰이는 유효성 검사 라이브러리로 Joi, class-validator 2가지 정도가 있는 것 같다.
이중에서 각각의 특징을 비교해보고 어떤 라이브러리로 유효성 검사를 할 지 선택하자
import * as Joi from 'joi';
const schema = Joi.object({
username: Joi.string().alphanum().min(3).max(30).required(),
password: Joi.string().pattern(new RegExp('^[a-zA-Z0-9]{3,30}$')).required(),
});
import { IsString, IsNotEmpty, MinLength, MaxLength } from 'class-validator';
class CreateUserDto {
@IsString()
@IsNotEmpty()
@MinLength(3)
@MaxLength(30)
username: string;
@IsString()
@IsNotEmpty()
@MinLength(6)
@MaxLength(30)
password: string;
}