- Source:
The validator mixin provides access to the features of the JSON validation system
Members
_defaultSchemaName :string|function
- Source:
The default name of the scheman when you use anonymous schemas. You can define this at the prototype for classified
schemas. The can also
Type:
- string | function
schema :object
- Source:
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 name
Type:
- object
schemas :object
- Source:
If you want to register multiple schemas, use this property instead
Type:
- object
validationOptions :object|function
- Source:
The options to pass to the validator when it runs
Type:
- object | function
Methods
addCheck(name, formatter) → {boolean}
- Source:
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 Properties
|
Returns:
- Type
- boolean
addFormat(name, formatter) → {boolean}
- Source:
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 Properties
|
Returns:
- Type
- boolean
addType(name, operation) → {boolean}
- Source:
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. Properties
|
Returns:
- Type
- boolean
addTypeCoercion(name, coercer) → {boolean}
- Source:
Custom coercion rules
Parameters:
Name | Type | Description | ||||||
---|---|---|---|---|---|---|---|---|
name |
string | The name of the coercion |
||||||
coercer |
function | Perform the coercion Properties
|
Returns:
- Type
- boolean
defaultDoc(schema) → (nullable) {object}
- Source:
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:
- Type
- object
extract(schemaopt, srcopt) → {object}
- Source:
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:
Data-only version of the class instance.
- Type
- object
extract(recordopt, schemaopt)
- Source:
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 |
getSchema(schemaNameopt) → (nullable) {object}
- Source:
Get a registered schema by name
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
schemaName |
string |
<optional> |
Returns:
- Type
- object
registerSchemas(schemas)
- Source:
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 schemas
Parameters:
Name | Type | Description |
---|---|---|
schemas |
hash | A hash of schemas where the key is the name of the schema |
validate(recordopt, schemaName, optionsopt) → (nullable) {object}
- Source:
Validate an object against the schema
Example
// 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
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:
- Type
- object