Files
DianZhanDemo/shared/dist/utils/validation.d.ts
ch197511161 aaaf08e8f3 init6
2025-12-11 02:09:07 +08:00

59 lines
1.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 通用验证工具函数
* Common validation utility functions
*/
import * as v from 'valibot';
/**
* 验证错误接口
* Validation error interface
*/
export interface ValidationError {
field: string;
message: string;
code: string;
}
/**
* 验证结果接口
* Validation result interface
*/
export interface ValidationResult<T> {
success: boolean;
data?: T;
errors?: ValidationError[];
}
/**
* 将 Valibot 验证错误转换为自定义格式
* Convert Valibot validation errors to custom format
*/
export declare function formatValidationErrors(issues: v.BaseIssue<unknown>[]): ValidationError[];
/**
* 安全解析数据
* Safely parse data with validation
*/
export declare function safeParseData<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, data: unknown): ValidationResult<T>;
/**
* 解析并验证数据,失败时抛出错误
* Parse and validate data, throw error on failure
*/
export declare function parseData<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, data: unknown): T;
/**
* 创建验证中间件函数(用于 API
* Create validation middleware function (for API)
*/
export declare function createValidationMiddleware<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>): (data: unknown) => T;
/**
* 验证查询参数
* Validate query parameters
*/
export declare function validateQuery<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, query: Record<string, any>): T;
/**
* 验证请求体数据
* Validate request body data
*/
export declare function validateBody<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, body: unknown): T;
/**
* 验证路径参数
* Validate path parameters
*/
export declare function validateParams<T>(schema: v.BaseSchema<unknown, T, v.BaseIssue<unknown>>, params: Record<string, any>): T;
//# sourceMappingURL=validation.d.ts.map