[](https://nodei.co/npm/dash-schema/)
npm install @dashevo/dash-schema
 

A consensus-code library for validating Dash Schema instances against System and DAP Schema definitions within the Dash protocol.
Ensure you have the latest NodeJS installed.
Clone the repo:
```
git clone https://github.com/dashevo/dash-schema && cd dash-schema
Install npm packages:
``
npm install
Run tests:
``
npm test
Build docs, browser bundle and run all tests:
``
npm run build
Install the library as a Node module.
``
$ npm install --save @dashevo/dash-schema
Reference the library within a Node module.
`js
let Schema = require('dash-schema');
// validate the System schema
let valid = Schema.validate.sysschema(Schema.System);
console.log(valid.valid));
// -> true
`
Include the browserified library in your HTML.
`html`
Dash Schema validation has a standardized format for reporting the results of Schema instance validation and any errors occurring within that validation.
- Exceptions are thrown when usage of the library is incorrect, such as missing or null expected parameters
- Exceptions are not thrown when library usage is correct but schema instance data is invalid according to schema definitions. In this case a validation result is returned containing the validation error in question
``
{
valid: { boolean }
errCode: { number } Error code
errMsg: { string } Error message
objData: { object } The object being validated
objType: { string } Name of the object subschema
rootSchema: { object } Definition of the root Schema used to validate this object
}
- valid is a boolean value that is true when validation succeeded and false when validation failed
- error an object {} when validation succeeded or a ValidationError object when validation failed
> The error object always exists, either as an empty object {} or a ValidationObject. Therefore it is not sufficient to check for the existance of the `error` object in a ValidationResult.`
> Instead, positive confirmation must be obtained by checking that the .valid`` property === true, to avoid situations where a bug returned null from some validation code.