ajv Пример добавления собственной функции проверки и сообщения об ошибке
Primary tabs
Пример добавления правила, которое позволяет проверить, что значение состоит не только из пробелов:
import Ajv from 'ajv'; import addFormats from "ajv-formats"; const ajv = new Ajv({ allErrors: true, verbose: true }); addFormats(ajv); ajv.addKeyword('isNotEmpty', { keyword: 'string', validate: function (schema: any, data: any) { return typeof data === 'string' && data.trim() !== '' }, errors: false, error: { message: "Значение не должно состоять из одних пробелов" } }); const validate = ajv.compile( { type: "object", "properties": { "name": { type: "string", maxLength: 15, "isNotEmpty": true, }, "email": { type: "string", format: "email" }, "count": { type: "number", }, }, required: ["name"] } );
Ну и где-то далее в коде используем определенную выше функцию:
let valid = validate(data); if (valid) { // .......
Подробнее об определении сообщения об ошибке (может принимать параметры): https://ajv.js.org/keywords.html#reporti...
- Log in to post comments
- 1323 reads