validate

Main endpoint for validation Validate anything by specified schema

validate(schema: Object, anything: (Object | Array)): Promise<ValidationResult>
Parameters
schema (Object) Validation schema
anything ((Object | Array)) Anything to validate
Returns
Promise<ValidationResult>:
Example
import { validate } from 'valirator';

const schema = {
   FirstName: {
     required: true,
   },
   LastName: {
     required: true,
   },
};

const obj = {
  FirstName: 'Bob',
};

const validationResult = await validate(schema, obj);

validateSync

Wrapper on validate function for sync validation Can be used if no async operation defined (rule or message)

validateSync(schema: Object, anything: (Object | Array)): ValidationResult
Parameters
schema (Object) Validation schema
anything ((Object | Array)) Anything to validate
Returns
ValidationResult:

validateObject

validateObject(obj: any, schema: any, overrides: any): Promise<ValidationResult>
Parameters
obj (any)
schema (any)
overrides (any)
Returns
Promise<ValidationResult>:

validateObjectSync

validateObjectSync(obj: any, schema: any, overrides: any): ValidationResult
Parameters
obj (any)
schema (any)
overrides (any)
Returns
ValidationResult:

validateArray

validateArray(array: any, schema: any, overrides: any): Promise<ValidationResult>
Parameters
array (any)
schema (any)
overrides (any)
Returns
Promise<ValidationResult>:

validateArraySync

validateArraySync(array: any, schema: any, overrides: any): ValidationResult
Parameters
array (any)
schema (any)
overrides (any)
Returns
ValidationResult:

validateProperty

validateProperty(property: any, obj: any, schema: any, overrides: any): Promise<ValidationResult>
Parameters
property (any)
obj (any)
schema (any)
overrides (any)
Returns
Promise<ValidationResult>:

validatePropertySync

validatePropertySync(property: any, obj: any, schema: any, overrides: any): ValidationResult
Parameters
property (any)
obj (any)
schema (any)
overrides (any)
Returns
ValidationResult:

validateValue

validateValue(value: any, rules: any, messages: any, obj: any, property: any, schema: any): Promise<ValidationResult>
Parameters
value (any)
rules (any)
messages (any)
obj (any)
property (any)
schema (any)
Returns
Promise<ValidationResult>:

validateValueSync

validateValueSync(value: any, rules: any, messages: any, obj: any, property: any, schema: any): ValidationResult
Parameters
value (any)
rules (any)
messages (any)
obj (any)
property (any)
schema (any)
Returns
ValidationResult:

validateRule

validateRule(rule: any, expected: any, value: any, message: any, rules: any, messages: any, obj: any, property: any, schema: any): Promise<boolean>
Parameters
rule (any)
expected (any)
value (any)
message (any)
rules (any)
messages (any)
obj (any)
property (any)
schema (any)
Returns
Promise<boolean>:

validateRuleSync

validateRuleSync(rule: any, expected: any, value: any, message: any, rules: any, messages: any, obj: any, property: any, schema: any): boolean
Parameters
rule (any)
expected (any)
value (any)
message (any)
rules (any)
messages (any)
obj (any)
property (any)
schema (any)
Returns
boolean:

registerRule

Register validation rule

registerRule(name: string, rule: Function, message: (string | Function))
Parameters
name (string) rule name
rule (Function) rule function
message ((string | Function)) rule message

overrideRule

Override rule by name

overrideRule(name: string, rule: Function, message: (string | Function))
Parameters
name (string) rule name
rule (Function) rule function
message ((string | Function)) rule message

overrideRuleMessage

Override rule message by name

overrideRuleMessage(name: string, message: (string | Function))
Parameters
name (string) rule name
message ((string | Function)) rule message

hasRule

Check if rule is registered

hasRule(name: string): boolean
Parameters
name (string) rule name
Returns
boolean:

getRule

Get rule by name

getRule(name: string): {name, message, check}
Parameters
name (string)
Returns
{name, message, check}:

formatMessage

Format message for rule

formatMessage(message: (string | Function)?= 'No default message for rule "%{rule}"', actual: any, expected: any, property: string, obj: Object, rule: Function): (Promise<string> | PromiseLike<string>)
Parameters
message ((string | Function)?= 'No default message for rule "%{rule}"') message template
actual (any) actual value
expected (any) expected value
property (string) validating property
obj (Object) validating object
rule (Function) validating function
Returns
(Promise<string> | PromiseLike<string>):

ValidationResult

new ValidationResult(errors: Object?= {}): ValidationResult
Parameters
errors (Object?= {}) validation errors
Properties
isValid (boolean) : check if validation result has not errors
hasErrors (boolean) : check if validation result has errors
hasErrorsOfTypes (boolean) : check if validation result has errors of specific types
getErrors (any) : get validation result errors
getFirstErrors (any) : get first validation result errors
getErrorsAsArray (Array<any>) : get validation result errors as array
getFirstError (string) : get first validation result error

ValidationResult is util class that contain information about errors and any level

Returns
ValidationResult:

ValidationSchema

ValidationSchema is util class that

new ValidationSchema(schema: Object)
Parameters
schema (Object) -

ngValidator

ngValidator(schema: any, onlyFirstErrors: any): ngValidatorFn
Parameters
schema (any)
onlyFirstErrors (any)
Returns
ngValidatorFn:

ngAsyncValidator

ngAsyncValidator(schema: any, onlyFirstErrors: any): ngAsyncValidatorFn
Parameters
schema (any)
onlyFirstErrors (any)
Returns
ngAsyncValidatorFn:

reduxFormValidator

reduxFormValidator(schema: any, allErrors: any): reduxFormValidatorFn
Parameters
schema (any)
allErrors (any)
Returns
reduxFormValidatorFn:

reduxFormAsyncValidator

reduxFormAsyncValidator(schema: any, allErrors: any): reduxFormAsyncValidatorFn
Parameters
schema (any)
allErrors (any)
Returns
reduxFormAsyncValidatorFn:

formatRule

formatRule(value: any, format: any): boolean
Parameters
value (any)
format (any)
Returns
boolean:

addFormatToFormatRule

addFormatToFormatRule(name: any, format: any)
Parameters
name (any)
format (any)

divisibleByRule

divisibleByRule(value: any, divisibleBy: any): boolean
Parameters
value (any)
divisibleBy (any)
Returns
boolean:

enumRule

enumRule(value: any, e: any): boolean
Parameters
value (any)
e (any)
Returns
boolean:

matchToRule

matchToRule(value: any, matchTo: any): boolean
Parameters
value (any)
matchTo (any)
Returns
boolean:

matchToPropertyRule

matchToPropertyRule(value: any, matchToProperty: any, obj: any): boolean
Parameters
value (any)
matchToProperty (any)
obj (any)
Returns
boolean:

notMatchToRule

notMatchToRule(value: any, notMatchTo: any): any
Parameters
value (any)
notMatchTo (any)
Returns
any:

notMatchToPropertiesRule

notMatchToPropertiesRule(value: any, notMatchToProperties: any, obj: any): any
Parameters
value (any)
notMatchToProperties (any)
obj (any)
Returns
any:

maxRule

maxRule(value: any, max: any): boolean
Parameters
value (any)
max (any)
Returns
boolean:

maxItemsRule

maxItemsRule(value: any, minItems: any): boolean
Parameters
value (any)
minItems (any)
Returns
boolean:

maxLengthRule

maxLengthRule(value: any, maxLength: any): boolean
Parameters
value (any)
maxLength (any)
Returns
boolean:

exclusiveMaxRule

exclusiveMaxRule(value: any, exclusiveMax: any): boolean
Parameters
value (any)
exclusiveMax (any)
Returns
boolean:

minRule

minRule(value: any, min: any): boolean
Parameters
value (any)
min (any)
Returns
boolean:

minItemsRule

minItemsRule(value: any, minItems: any): boolean
Parameters
value (any)
minItems (any)
Returns
boolean:

minLengthRule

minLengthRule(value: any, minLength: any): boolean
Parameters
value (any)
minLength (any)
Returns
boolean:

exclusiveMinRule

exclusiveMinRule(value: any, exclusiveMin: any): boolean
Parameters
value (any)
exclusiveMin (any)
Returns
boolean:

patternRule

patternRule(value: any, pattern: any): boolean
Parameters
value (any)
pattern (any)
Returns
boolean:

requiredRule

requiredRule(value: any, required: any): any
Parameters
value (any)
required (any)
Returns
any:

typeRule

typeRule(value: any, type: any): boolean
Parameters
value (any)
type (any)
Returns
boolean:

uniqueItemsRule

uniqueItemsRule(value: any, uniqueItems: any): boolean
Parameters
value (any)
uniqueItems (any)
Returns
boolean:

noop

Empty function

noop()

isType

Check if type

isType(obj: any, typeStr: string): boolean
Parameters
obj (any)
typeStr (string) type string like: ' [ object Object ] ', ' [ object Array ] ' and etc
Returns
boolean:

isObject

Check if is Object

isObject(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isArray

Check if is Array

isArray(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isFunction

Check if is Function

isFunction(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isString

Check if is String

isString(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isDate

Check if is Date

isDate(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isNumber

Check if is Number

isNumber(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isBoolean

Check if is Boolean

isBoolean(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isEmpty

Check if is Empty Empty string -> true Empty array -> true Empty object -> true

Anything else -> false

isEmpty(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isNull

Check if is Null

isNull(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isUndefined

Check if is Undefined

isUndefined(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isNullOrUndefined

Check is is Null or Undefined

isNullOrUndefined(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

isDefined

Check is object is defined (not null, not undefined, not empty string, object or array

isDefined(obj: any): boolean
Parameters
obj (any)
Returns
boolean:

toString

Safe convert to String

toString(obj: any): string
Parameters
obj (any)
Returns
string:

indexOf

Safe indexOf

indexOf(array: any, value: any): Number
Parameters
array (any)
value (any)
Returns
Number:

inArray

Safe check if value in array

inArray(array: any, value: any): boolean
Parameters
array (any)
value (any)
Returns
boolean:

castArray

Cast item to array

castArray(array: any): Array
Parameters
array (any)
Returns
Array:

hasOwnProperty

Safe check is object has property

hasOwnProperty(obj: any, prop: string): boolean
Parameters
obj (any)
prop (string) property name
Returns
boolean:

setPrototypeOf

Safe set prototype

setPrototypeOf(obj: any, proto: any): Object
Parameters
obj (any)
proto (any)
Returns
Object:

getPrototypeOf

Safe get prototype

getPrototypeOf(obj: any): any
Parameters
obj (any)
Returns
any:

getProperty

Get property value

getProperty(obj: Object, path: string?= '', fallback: any): any
Parameters
obj (Object)
path (string?= '')
fallback (any) fallback value
Returns
any:

getPropertyOverride

Get property override in chain

getPropertyOverride(context: Object, prop: string): any
Parameters
context (Object)
prop (string)
Returns
any:

handlePromise

Handle Promise or PromiseLike object

handlePromise(promise: (Promise | PromiseLike)): (Promise | PromiseLike)
Parameters
promise ((Promise | PromiseLike))
Returns
(Promise | PromiseLike):

handlePromises

Handle array of Promises or PromiseLike objects

handlePromises(promises: any): (Promise | PromiseLike)
Parameters
promises (any)
Returns
(Promise | PromiseLike):

PromiseLike

PromiseLike

Type: Object

Properties
then (Function)
catch (Function)
value (any)
isPromiseLike (boolean)