typescript - Hur validerar man en array av URL:er med Class-Validator?
Jag använder Class-Validator för att validera egenskaper hos DTO:er för en Nest.js-applikation. Där har jag en egenskap "images", som är en array av strängar och dessa strängar är URL:er. Så jag vill validera varje URL i den arrayen.
class SomeDto {
// ...
// Array of Urls
@IsArray()
@IsUrl({each:true})
images: string[];
// ...
}
Men detta verkar inte fungera. Vet någon hur man validerar denna Array av Urls.
Svar #1
Typen på den första parametern för IsUrl är inte den vanliga ValidationOptions.
Du kan kontrollera dess signatur:
export declare function IsUrl(options?: ValidatorJS.IsURLOptions, validationOptions?: ValidationOptions): PropertyDecorator;
Så, försök att skicka { each: true } på andra plats och det kommer att fungera.
class SomeDto {
// ...
// Array of Urls
@IsArray()
@IsUrl({}, { each: true })
images: string[];
// ...
}
