And
Path:
/src/type/and.coffee
compiled to/lib/type/and.js
Collection of types combined with logical and.
This checks will be done in series to allow each one to possibly change the value and give it on.
This is used to give multiple rules which will be executed in a series and all have to succeed.
Option:
and
- (array) with multiple check rules
With this it is possible to use a string-check to sanitize and then use an other test to finalize the value like:
CoffeeScript Code validator.check
name: 'test' # name to be displayed in errors (optional)
value: input # value to check
schema: # definition of checks
type: 'and'
and: [
type: 'string'
toString: true
replace: [/,/g, '.']
,
type: 'float'
]
, (err, result) ->
# do something
This allows to give float numbers in the european format: xx,x
Schema Specification
And is the logic for multiple, serial schema definitions.
An object with the following keys allowed: and
, title
, description
, key
, type
, optional
, default
. The following entries have a specific format:
and
-
Conditions are the list of all serial checks which have to succeed.
A list. Each entry has to be of type object:
Condition is one of the checks which have to succeed.
An object with the following keys have to be present:
type
. title
-
Title is the title used to describe the element.
A text entry which is optional. All control characters will be removed.
description
-
Description is the free description of the element.
A text entry which is optional. All control characters will be removed.
key
-
Binding to Keyname is the mapping to which key names in an object this element belongs.
A valid regular expression which is optional. It has to be one of the following types:
- An object which has to be an instance of class
RegExp
. - A text entry in which all control characters will be removed. The text should match: /^/.?/[gim]$/.
- An object which has to be an instance of class
type
-
Type is the type of element.
A text entry in which all control characters will be removed.
optional
-
Optional is a flag defining if this element is optional.
A boolean value, which will be true for ‘true’, ‘1’, ‘on’, ‘yes’, ‘+’, 1, true and will be considered as false for ‘false’, ‘0’, ‘off’, ‘no’, ‘-’, 0, false. It’s optional.
default
-
Default Value is the default value to use if nothing given.
A value of any type which is optional.