当属性值与指定值不同时,我试图修复它们。
杰森:
{
"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);有没有其他关键字,我可以使用基本上将值更改为好的,或通过引用的其他值?
发布于 2017-03-13 00:44:21
使用自定义关键字解决:
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" }https://stackoverflow.com/questions/42612666
复制相似问题