Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

art-validation

1.9.1 • Public • Published

ArtValidator

Validate object properties.

NOTES

  • validators are evaluated before preprocessors
  • preprocessors should NOT throw validation-related errors

USAGE

new Validator validatorFieldsPropsoptions
 
IN:
  validatorFieldsProps:
    plain object with zero or more field-validations defined:
      fieldName: fieldProps
  options:
    exclusive: true/false
      if trueonly fields listed in validatorFieldsProps are allowed.
 
fieldProps:
  string or plainObject
  string: selects fieldProps from one of the standard @FieldTypes (see below)
  plainObject: (all fields are optional)
 
    validate: (v) -> true/false
      whenever this field is included in an update OR create operation,
        validate() must return true
      NOTE: validate is evaluated BEFORE preprocess
 
    preprocess: (v1) -> v2
      whenever this field is included in an update OR create operation,
        after validation succeeds,
        value = preprocess value
      NOTE: validate is evaluated BEFORE preprocess
 
    required: true/false/string
      if true/string
        when creating recordsthis field must be included
      if string
        fieldProps = merge fieldPropsFieldTypes[string]
 
    present: true/false
      if true
        when creating recordsthis field must be include and 'present' (see Art.Foundation.present)
 
    fieldType: string
      fieldProps = merge FieldTypes[string]fieldProps
 
    dataType: string
      sepecify which of the standard Json data-types this field contains
      This is not used by Validator itselfbut is available for clients to reflect on field-types.
      Must be one of the values in: DataTypes
 
    instanceof: class 
      in addition to passing validate()if presentthe value must also be an instance of the
      specified class 

Keywords

none

Install

npm i art-validation

DownloadsWeekly Downloads

2

Version

1.9.1

License

ISC

Unpacked Size

34 kB

Total Files

27

Last publish

Collaborators

  • avatar