You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
753 B
29 lines
753 B
import { IsString, IsEmail, IsEnum, IsNotEmpty, IsOptional, Matches } from "class-validator"; |
|
|
|
export class CreateUserDto { |
|
@IsEmail({}, { message: "Invalid email format" }) |
|
email: string; |
|
|
|
@IsString() |
|
@IsNotEmpty({ message: "Password is required" }) |
|
password: string; |
|
|
|
@IsString() |
|
@IsNotEmpty({ message: "First name is required" }) |
|
firstName: string; |
|
|
|
@IsString() |
|
@IsNotEmpty({ message: "Last name is required" }) |
|
lastName: string; |
|
|
|
@IsString() |
|
@IsNotEmpty({ message: "Username is required" }) |
|
username: string; |
|
|
|
@IsString() |
|
@Matches(/^[0-9]{11}$/, { message: "Phone number must be 10 digits" }) |
|
phoneNumber: string; |
|
|
|
@IsEnum(["male", "female"], { message: "Gender must be 'male' or 'female'" }) |
|
gender: string; |
|
}
|
|
|