validity-validate-if-set

Validity validator which calls a subsequent validator if a value is truthy

Usage no npm install needed!

<script type="module">
  import validityValidateIfSet from 'https://cdn.skypack.dev/validity-validate-if-set';
</script>

README

validity-validate-if-set

Build Status

Validity validator which calls a subsequent validator if a value is truthy. E.g you have a URL property of a schema, which is not a required field. You only want to apply validation to that field if there is a value to validate.

Installation

npm install validity-validate-if-set --save

Usage

Below is a simple example for usage with schemata and save:

var validity = require('validity')
  , schemata = require('schemata')
  , save = require('save')
  , collection = save('author')
  , validateIfSet = require('validity-validate-if-set')

var schema = schemata(
    { url:
      { type: String
      , validators: { all: [ validateIfSet(validity.url) ] }
      }
    })

API

var validate = createValidator(Function: validityFunction)

Create a validate function by passing in the subsequent validator to be called if the value is set.

validate(String:key, String:keyDisplayName, Object:object, Function:cb)

This is a validity compatible function, which in turn is used by schemata for schema validation.

The callback signature cb(err, errorMessage).

err is an Error object if something bad happened and null otherwise. errorMessage is a String if a validation error happened and undefined otherwise.

Licence

Licensed under the New BSD License