/** * Options passed to validator during validation. */ export interface ValidatorOptions { /** * If set to true then class-validator will print extra warning messages to the console when something is not right. */ enableDebugMessages?: boolean; /** * If set to true then validator will skip validation of all properties that are undefined in the validating object. */ skipUndefinedProperties?: boolean; /** * If set to true then validator will skip validation of all properties that are null in the validating object. */ skipNullProperties?: boolean; /** * If set to true then validator will skip validation of all properties that are null or undefined in the validating object. */ skipMissingProperties?: boolean; /** * If set to true validator will strip validated object of any properties that do not have any decorators. * * Tip: if no other decorator is suitable for your property use @Allow decorator. */ whitelist?: boolean; /** * If set to true, instead of stripping non-whitelisted properties validator will throw an error */ forbidNonWhitelisted?: boolean; /** * Groups to be used during validation of the object. */ groups?: string[]; /** * Set default for `always` option of decorators. Default can be overridden in decorator options. */ always?: boolean; /** * If [groups]{@link ValidatorOptions#groups} is not given or is empty, * ignore decorators with at least one group. */ strictGroups?: boolean; /** * If set to true, the validation will not use default messages. * Error message always will be undefined if its not explicitly set. */ dismissDefaultMessages?: boolean; /** * ValidationError special options. */ validationError?: { /** * Indicates if target should be exposed in ValidationError. */ target?: boolean; /** * Indicates if validated value should be exposed in ValidationError. */ value?: boolean; }; /** * Fails validation for objects unknown to class-validator. Defaults to true. * * For instance, since a plain empty object has no annotations used for validation: * - `validate({})` // passes * - `validate({}, { forbidUnknownValues: true })` // fails. * - `validate(new SomeAnnotatedEmptyClass(), { forbidUnknownValues: true })` // passes. */ forbidUnknownValues?: boolean; /** * When set to true, validation of the given property will stop after encountering the first error. Defaults to false. */ stopAtFirstError?: boolean; }