3

DTO フィルタリングの場所があります。緯度、経度、半径を指定して、いくつかの場所だけを照会できます。3 つすべてがオプションのフィールドですが、そのうちの 1 つを設定すると、他の 2 つも必要になります。だから私がこれまでに持っているもの

export class GetLocationsDTO {
    @IsNumber()
    @IsLatitude()
    // optional but requires longitude and radius
    @Type(() => Number)
    public latitude?: number;

    @IsNumber()
    @IsLongitude()
    // optional but requires latitude and radius
    @Type(() => Number)
    public longitude?: number;

    @IsNumber()
    // optional but requires latitude and longitude
    @Type(() => Number)
    public radiusInKilometers?: number;
}

このサンプルのようなデコレータはありますか

@IsOptionalButDependsOn(['fieldFoo', 'fieldBar'])

したがって、3 つすべてがオプションですが、そのうちの 1 つが提供された場合、他の 2 つのフィールドも提供される必要があります。

4

1 に答える 1