diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js index cf17a8fda..30c329c41 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js @@ -148,26 +148,21 @@ RED.editor = (function() { ((typeof definition[property].label) == "string")) { label = definition[property].label; } - if ("required" in definition[property]) { - if (definition[property].required) { - valid = value !== ""; - if (!valid && label) { - return RED._("validator.errors.missing-required-prop", { - prop: label - }); - } - } else { + if ("required" in definition[property] && definition[property].required) { + valid = value !== ""; + if (!valid && label) { + return RED._("validator.errors.missing-required-prop", { + prop: label + }); + } + } + if (valid && "validate" in definition[property]) { + if (definition[property].hasOwnProperty("required") && + definition[property].required === false) { if (value === "") { return true; } } - - } else { - if (value === "") { - return true; - } - } - if (valid && "validate" in definition[property]) { try { var opt = {}; if (label) { @@ -194,6 +189,11 @@ RED.editor = (function() { }); } } else if (valid) { + if (definition[property].hasOwnProperty("required") && definition[property].required === false) { + if (value === "") { + return true; + } + } // If the validator is not provided in node property => Check if the input has a validator if ("category" in node._def) { const isConfig = node._def.category === "config";