संक्षिप्त उत्तर नहीं है, टाइपओआरएम स्तर पर नहीं। हालांकि, आप इसे ValidateIf
वर्ग-सत्यापनकर्ता
. से डेकोरेटर :
@Column({ nullable: true })
@Exclude()
@IsNotEmpty()
@ValidateIf(u => !u.oAuthLogins || u.oAuthLogins.length === 0)
public password?: string;
@JoinColumn()
@IsArray()
@ValidateIf(u => !u.password)
@OneToMany(() => OAuthLogin, (provider: OAuthLogin) => provider.user, {
cascade: true,
})
public oAuthLogins?: OAuthLogin[];
आपके आवेदन में कहीं और:
import { validate } from 'class-validator';
...
validate(user)
यदि यह इकाई नियंत्रक को पार कर रही है, तो आप NestJS के ValidationPipe
. का भी उपयोग कर सकते हैं करने के लिए इसे कंट्रोलर या एप्लिकेशन पर लागू करें
स्तर:
// main.ts
app.useGlobalPipes(new ValidationPipe({ whitelist: true }));