Validation API reference
Current emitted signatures and options for @db3.ai/app/validation.
On this page
Source-backed MarkdownImports and examples
Import supported APIs from @db3.ai/app/validation. These signatures come from the staged package used by consumers. Relative filenames in declarations describe type dependencies; they are not extra supported deep imports.
Use the guide for setup, executable examples, failure handling and ownership. A signature is not proof that every deployment or provider has been exercised.
Rules, results, exceptions and helpers
ts
export type ValidationRuleName = 'required' | 'nullable' | 'string' | 'number' | 'integer' | 'boolean' | 'email' | 'url' | 'array' | 'object' | 'min' | 'max' | 'minLength' | 'maxLength' | 'in' | 'regex' | 'ulid' | 'uuid';
export type ValidationRule = ValidationRuleName | `${ValidationRuleName}:${string}` | {
rule: ValidationRuleName;
value?: unknown;
values?: readonly unknown[];
pattern?: RegExp;
message?: string;
};
export type ValidationRules = Record<string, readonly ValidationRule[]>;
export interface ValidationFailure {
field: string;
rule: ValidationRuleName;
message: string;
value?: unknown;
details?: Record<string, unknown>;
}
export interface ValidationResult<TData extends Record<string, unknown> = Record<string, unknown>> {
valid: boolean;
data: TData;
errors: ValidationFailure[];
}
export declare class ValidationException extends Error {
readonly errors: ValidationFailure[];
constructor(errors: ValidationFailure[]);
}
export declare function validate<TData extends Record<string, unknown> = Record<string, unknown>>(data: unknown, rules: ValidationRules): ValidationResult<TData>;
export declare function assertValid<TData extends Record<string, unknown> = Record<string, unknown>>(data: unknown, rules: ValidationRules): TData;
export declare function isEmail(value: unknown): boolean;