我试图在其具有不同的值时尝试修复属性值。
json:
{
"stone": "bri"
}
如果还没有"砖",我想修理石头属性以拥有"砖"。
模式:
{
"required": [
"stone"
],
"properties": {
"stone": {
"type": "string",
"if": {
"not": {
"constant": "brick"
}
},
"then": { "default": "brick" }
}
}
}
使用v4.11.4:
var ajv = new Ajv({ useDefaults: true, v5: true });
require('ajv-keywords')(ajv);
我是否可以使用其他任何关键字来基本上将值转换为好的值,或者通过参考将其更改为其他值?
用自定义关键字解决:
ajv.addKeyword('modify_current', {
modifying: true,
validate: function (schema_parameter_value, validated_parameter_value, validation_schema_object, current_data_path, validated_parameter_object, validated_parameter) {
validated_parameter_object[validated_parameter] = schema_parameter_value;
return true;
},
errors: false
});
和架构中:
"then": { "modify_current": "brick" }