我想使在DTO本身的另一个字段的基础上需要的字段.
目前我的DTO如下所示:
import { LOGIN_TYPE } from "src/utils/constants";
import { IsIn, IsNotEmpty, IsOptional } from "class-validator";
export class LoginDto {
@IsOptional()
phoneNumber: string
@IsOptional()
fcmToken: string
@IsOptional()
accessToken: string
@IsOptional()
@IsIn([LOGIN_TYPE.APPLE, LOGIN_TYPE.GOOGLE, LOGIN_TYPE.FACEBOOK, LOGIN_TYPE.PHONE_NUMBER_OTP])
loginType: string = LOGIN_TYPE.PHONE_NUMBER_OTP;
}
但问题是,我不想盲目地把它变成可选的.
如果"loginType"=PHONE_NUMBER_OTP,我希望"phoneNumber"作为必选参数 如果"loginType"=Google||Apple||Facebook,我希望"accesToken"作为必选参数
我如何在DTO本身中实现这一点.
我已经使用了{Transform:True}.以另一种方式处理任何帮助或建议都是非常特殊的!提前谢谢你了
try :将所有内容设置为可选,但我不想在我的服务中处理这些东西 期望:我希望在DTO本身中处理此验证