Ensure property validation is backwards compatible

This commit is contained in:
Nick O'Leary
2022-04-26 13:45:14 +01:00
parent accbf6ecfc
commit 48a528a4b8
3 changed files with 16 additions and 8 deletions

View File

@@ -230,17 +230,21 @@
for (var i=0;i<v.length;i++) {
if (/msg|flow|global/.test(v[i].vt)) {
if (!RED.utils.validatePropertyExpression(v[i].v)) {
return RED._("node-red:inject.errors.invalid-prop", { prop: v[i].p, error: v[i].v });
return RED._("node-red:inject.errors.invalid-prop", { prop: 'msg.'+v[i].p, error: v[i].v });
}
} else if (v[i].vt === "jsonata") {
try{ jsonata(v[i].v); }
catch(e){
return RED._("node-red:inject.errors.invalid-jsonata", { prop: v[i].p, error: e.message });
return RED._("node-red:inject.errors.invalid-jsonata", { prop: 'msg.'+v[i].p, error: e.message });
}
} else if (v[i].vt === "json") {
try{ JSON.parse(v[i].v); }
catch(e){
return RED._("node-red:inject.errors.invalid-json", { prop: v[i].p, error: e.message });
return RED._("node-red:inject.errors.invalid-json", { prop: 'msg.'+v[i].p, error: e.message });
}
} else if (v[i].vt === "num"){
if (!/^[+-]?[0-9]*\.?[0-9]*([eE][-+]?[0-9]+)?$/.test(v[i].v)) {
return RED._("node-red:inject.errors.invalid-prop", { prop: 'msg.'+v[i].p, error: v[i].v });
}
}
}

View File

@@ -86,10 +86,10 @@
"failed": "inject failed, see log for details",
"toolong": "Interval too large",
"invalid-expr": "Invalid JSONata expression: __error__",
"invalid-jsonata": "__prop__: invalid property expression: __error__",
"invalid-prop": "__prop__: invalid property expression: __error__",
"invalid-json": "__prop__: invalid JSON data: __error__",
"invalid-repeat": "Invalid repeat value"
"invalid-jsonata": "__prop__: invalid property expression: __error__",
"invalid-prop": "__prop__: invalid property expression: __error__",
"invalid-json": "__prop__: invalid JSON data: __error__",
"invalid-repeat": "Invalid repeat value"
}
},
"catch": {