@lunoxjs/validation
Version:
Lunox Request Validator
86 lines (76 loc) • 2.83 kB
TypeScript
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 };