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#reporting-errors
- Log in to post comments
- 1864 reads