我的“AppState”枚举具有以下可能的枚举值:
export enum AppState {
SUCCESS,
ERROR,
RUNNING
}
我有一个UpdateAppStateDTO,它应该接受除RUNNINGappState
之外的每个枚举值。
export class UpdateAppStateDTO {
@IsEnum(AppState)
@NotEquals(AppState.RUNNING) // Doesn't work properly
public appState: AppState;
}
对于路线,我有这个例子
@Patch()
public setState(@Body() { appState }: UpdateAppStateDTO): void {
console.log(appState);
}
如果请求有一个空的正文或一个无效的枚举值,比如“foobar”,appState
我得到一个 400,这很好。
问题是当我发送“RUNNING”时,我仍然得到 200 而不是 400。
我怎样才能防止这种行为?