Class 嵌套对象或对象 ID 的验证器
Class validator for nested object or object ID
我想创建一个传递了 organizationId 的用户,如果组织不可用,我也希望传递组织对象。
export class User {
@IsString()
public name: string;
@IsNumber()
public organisationId: number;
}
export class Organisation {
@IsString()
public name: string;
}
基本上,如果请求是
{
name: "user name",
organisationId: 1
}
我将创建用户,因为组织(ID 为 1)已经存在。
对于请求
{
name: "user name",
organisation: {
name: "org name"
}
}
我将创建组织和用户。在这种情况下,也希望验证者在组织上工作。在这里,我需要 organizationId 或 organization。如何做到这一点?有没有办法确保只有一个可用?
感谢您提供任何信息。
我能够使用 ValidateIf 装饰器并解决我的问题。谢谢
export class User {
@IsString()
public name: string;
@IsNumber()
@ValidateIf(o => !o.organisation)
public organisationId: number;
@ValidateIf(o => !o.organisationId)
public organisation: Organisation;
}
我想创建一个传递了 organizationId 的用户,如果组织不可用,我也希望传递组织对象。
export class User {
@IsString()
public name: string;
@IsNumber()
public organisationId: number;
}
export class Organisation {
@IsString()
public name: string;
}
基本上,如果请求是
{
name: "user name",
organisationId: 1
}
我将创建用户,因为组织(ID 为 1)已经存在。 对于请求
{
name: "user name",
organisation: {
name: "org name"
}
}
我将创建组织和用户。在这种情况下,也希望验证者在组织上工作。在这里,我需要 organizationId 或 organization。如何做到这一点?有没有办法确保只有一个可用?
感谢您提供任何信息。
我能够使用 ValidateIf 装饰器并解决我的问题。谢谢
export class User {
@IsString()
public name: string;
@IsNumber()
@ValidateIf(o => !o.organisation)
public organisationId: number;
@ValidateIf(o => !o.organisationId)
public organisation: Organisation;
}