@gabliam/validate-class
Version:
Gabliam plugin for add validation with joi on web
42 lines (41 loc) • 1.13 kB
TypeScript
import { ClassTransformOptions } from 'class-transformer';
import { ValidationError, ValidatorOptions } from 'class-validator';
export type ValidationOptions = Partial<Validate>;
/**
* Type of the `Validate` decorator / constructor function.
*/
export interface ValidateDecorator {
/**
* Decorator that marks a property to use a validator
*
* @usageNotes
*
*
* ```typescript
* @Controller('/')
* class SampleController {
* @Validate()
* @Get('/')
* hello(@QueryParam('name') name: NameDto) {
* return 'Hello';
* }
* }
* ```
*/
(options?: ValidationOptions): any;
/**
* see the `@Validate` decorator.
*/
new (options?: ValidationOptions): any;
}
/**
* `Validate` decorator and metadata.
*/
export interface Validate {
transform: boolean;
disableErrorMessages: boolean;
validatorOptions: ValidatorOptions;
transformOptions: ClassTransformOptions;
exceptionFactory: (errors: ValidationError[], disableErrorMessages: boolean) => any;
}
export declare const Validate: ValidateDecorator;