UNPKG

@lunoxjs/validation

Version:

Lunox Request Validator

86 lines (76 loc) 2.83 kB
import { Validator as Validator$1 } from '@kodepandai/node-input-validator'; import { ServiceProvider, Application, Request } from '@lunoxjs/core'; import * as _lunoxjs_core_dist_useFacade_2248e61a from '@lunoxjs/core/dist/useFacade-2248e61a'; import { FormRequest as FormRequest$1 } from '@lunoxjs/core/contracts'; declare class Validator extends Validator$1 { protected _inputs: Record<string, any>; constructor(data: Record<string, any>, rules: Record<string, any>, messages: Record<string, any>, customAttributes?: Record<string, any>); fails(): Promise<boolean>; validate(inputs?: Record<string, any>): Promise<any>; } declare class ValidationException extends Error { status: number; protected validator: Validator; constructor(validator: Validator); errors(): any; } declare class ValidationServiceProvider extends ServiceProvider { register(): Promise<void>; boot(): Promise<void>; } interface Rule { name: string; passes: (args: string[] | undefined, value: any) => Promise<boolean>; message?: string; } declare class Factory { static symbol: symbol; protected app: Application; constructor(app: Application); make(data: Record<string, any>, rules: Record<string, string>, messages?: Record<string, string>, customAttributes?: Record<string, string>): Validator; extend(rule: Rule): void; } declare const _default: Factory & typeof _lunoxjs_core_dist_useFacade_2248e61a.a; interface FormRequest { validate(rules: Record<string, string>, messages?: Record<string, string>, customAttributes?: Record<string, string>): Promise<any>; } declare class FormRequest extends Request implements FormRequest$1<Validator> { /** * validator instance. */ protected validator: Validator | null; /** * Get rules for validator. */ rules(): Record<string, any>; /** * Get custom messages for validator errors. */ messages(): Record<string, any>; /** * Set validator instance. */ setValidator(validator: Validator): this; /** * Get custom attributes for validator errors. */ attributes(): Record<string, any>; /** * Validate this form request. */ validateForm(): Promise<any>; /** * Create default validator instance */ protected createDefaultValidator(factory: Factory): Validator; /** * Get validator instance for the request. */ getValidator(): Validator; } declare module "@lunoxjs/core/contracts" { interface Request extends InstanceType<typeof Request> { validate(rules: Record<string, string>, messages?: Record<string, string>, customAttributes?: Record<string, string>): Promise<any>; } } export { FormRequest, Rule, ValidationException, ValidationServiceProvider, _default as Validator };