Members
-
schema :object
-
Description
The schema that defines the validation rules. This should probably be defined at the prototype for each
object or model classification. It can be an anonymous schema defined right here, or this can be
registered schema names to use, or just a single nameDetails
-
schemas :object
-
Description
If you want to register multiple schemas, use this property instead
Details
-
_defaultSchemaName :string|function
-
Description
The default name of the scheman when you use anonymous schemas. You can define this at the prototype for classified
schemas. The can alsoDetails
-
validationOptions :object|function
-
Description
The options to pass to the validator when it runs
Details
Methods
-
validate( [ record ], schemaName [, options ] ) → {object}
-
Description
Validate an object against the schema
Parameters
Name Type Attributes Description record
object <optional> The record to validate
schemaName
string | object The name of a previously registered schema
options
object <optional> Options to pass to the validator
Returns
Examples
// This supports these signatures: instance.validate(record, schemaName, options); instance.validate(); // this, this._defaultSchemaName, this.validationOptions instance.validate(record); // record, this._defaultSchemaName, this.validationOptions instance.validate(schemaName); //this, schemaName, this.validationOptions instance.validate(record, schemaName); //record, schemaName, this.validationOptions instance.validate(schemaName, options); //this, schemaName, this.validationOptions
Details
-
registerSchemas( schemas )
-
Description
Initialize the schema collection by registering the with the handler. You can call this at any time and as often as you like. It will be called once
by the constructor on any instance schemasParameters
Name Type Description schemas
hash A hash of schemas where the key is the name of the schema
Details
-
extract( [ record [, schema ] ] )
-
Description
Extracts only the elements of the object that are defined in the schema
Parameters
Name Type Attributes Description record
object <optional> The record to extract from
schema
string <optional> The name of the schema to attach
Details
-
addType( name, operation ) → {boolean}
-
Description
Create a type to be used in your schemas to define new validators
Parameters
Name Type Description name
string The name of the type
operation
function What to do with the type.
Name Type Description value
object The value to validation
Returns
Details
-
addFormat( name, formatter ) → {boolean}
-
Description
It is also possible to add support for additional string formats through the addFormat function.
Parameters
Name Type Description name
string The name of the formatter
formatter
function How to format it
Name Type Description value
object The value to format
Returns
Details
-
addCheck( name, formatter ) → {boolean}
-
Description
It is possible to add support for custom checks (i.e., minItems, maxItems, minLength, maxLength, etc.) through the addCheck function
Parameters
Name Type Description name
string The name of the check
formatter
function Perform the check
Name Type Description value
object The value to check followed by any parameters from the schema
Returns
Details
-
addTypeCoercion( name, coercer ) → {boolean}
-
Description
Custom coercion rules
Parameters
Name Type Description name
string The name of the coercion
coercer
function Perform the coercion
Name Type Description value
object The value to coerce
Returns
Details
-
getSchema( [ schemaName ] ) → {object}
-
Description
Get a registered schema by name
Parameters
Name Type Attributes Description schemaName
string <optional> Returns
Details
-
extract( [ schema [, src ] ] ) → {object}
-
Description
This method will create a new object that contains only the fields and no methods or other artifacts. This is useful
for creating objects to pass over the wire or save in a table. This is not deeply copied, so changes made to the
extracted object will be represented in this class for reference objects.Parameters
Name Type Attributes Description schema
string <optional> The schema name to use
src
object <optional> The object to extract fields from
Returns
Details
-
defaultDoc( schema ) → {object}
-
Description
Builds a default document based on the schema. What this does is create a document from schema and for each property
that has a default value or is required, the resultant object will contain that property. It is useful for extending
values from some source that may be incomplete, like options or some such.Parameters
Name Type Description schema
json-schema A schema to use to create the default document
Returns
Details