Skip to main content
Module

x/hrpc/mod.ts>Validator

RPC based HTTP API framework
Latest
class Validator
import { Validator } from "https://deno.land/x/hrpc@v0.1.1/mod.ts";

Constructors

new
Validator(opts?: ValidatorConstructorOptions)

Constructor of validation class

Properties

aliases: { [key: string]: ValidationRule; }

List of aliases attached to current validator

messages: MessagesType

List of possible error messages

rules: { [key: string]: ValidationRuleObject; }

List of rules attached to current validator

Methods

add(type: string, fn: CompilationFunction): void

Register a custom validation rule in validation object

addMessage(name: string, message: string): void

Add a message

alias(name: string, validationRule: ValidationRuleObject): void

Register an alias in validation object

compile<T = any>(schema: ValidationSchema<T> | ValidationSchema<T>[]): SyncCheckFunction | AsyncCheckFunction

Compile validator functions that working up 100 times faster that native validation process

getRuleFromSchema(name: ValidationRuleName | ValidationRuleName[] | { [key: string]: unknown; }): { messages: MessagesType; schema: ValidationSchema; ruleFunction: Function; }

Get defined in validator rule

makeError(opts: { type: keyof MessagesType; field?: string; expected?: any; actual?: any; messages: MessagesType; }): string

Build error message

plugin<T = void>(fn: PluginFn<T>): T

Add a plugin

validate(value: any, schema: ValidationSchema): true | ValidationError[] | Promise<true | ValidationError[]>

Native validation method to validate obj