$ npm install class-validation
Conditional validation은 @validationIf 데코레이터로 사용 할 수 있습니다.
validationIf는 조건 함수를 제공하고 boolean타입을 반환합니다.
true일 때 다른 class-validation 데코레이터들이 동작을 하고 반대의 경우에는 데코레이터가 동작하지 않습니다.
import { ValidateIf, IsNotEmpty, IsString }from 'class-validator';
export class Post {
otherProperty: string;
@ValidateIf(o => o.otherProperty === 'value')
@IsNotEmpty()
@IsString()
example: string;
}
위의 예제와 같이 otherProperty 가 'value'면 @IsNotEmpty() 가 동작을 하고, 'value'가 아니면 다른 데코레이터들이 동작하지 않습니다.