ajv-i18n
Internationalised error messages for Ajv - currently the fastest JSON-Schema validator
Supported locales
Install
Using npm:
npm install ajv-i18n
Using bower:
bower install ajv-i18n
cd bower_components/ajv-i18n
npm install && npm run bundle-all
Usage
In node:
var Ajv = require('ajv');
var localize = require('ajv-i18n');
var ajv = Ajv({ allErrors: true });
var validate = ajv.compile(schema);
var valid = validate(data);
if (!valid) {
localize.ru(validate.errors);
console.log(ajv.errorsText(validate.errors, { separator: '\n' }));
}
To require only necessary locales in browser (with browserify):
var localize_ru = require('ajv-i18n/localize/ru');
or
var localize = {
en: require('ajv-i18n/localize/en'),
ru: require('ajv-i18n/localize/ru')
};
See Ajv docs for more information.
Tests
npm install
git submodule update --init
npm test
Contributing
Functions that localize error messages are generated using doT templates in messages and localize.jst template. Templates are precompiled so doT is not a run-time dependency.
npm run build
- compiles functions to localize folder.
License
MIT