diff --git a/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue b/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue index 3e57f48587..cce6e4ca2c 100644 --- a/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue +++ b/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue @@ -47,6 +47,18 @@ diff --git a/contentcuration/contentcuration/frontend/shared/utils/validation.js b/contentcuration/contentcuration/frontend/shared/utils/validation.js index 3c6676ece5..727d5d4a6e 100644 --- a/contentcuration/contentcuration/frontend/shared/utils/validation.js +++ b/contentcuration/contentcuration/frontend/shared/utils/validation.js @@ -244,6 +244,21 @@ export function getActivityDurationValidators() { ]; } +/** + * Get invalid text for a given value using a list of validators. + * @param {Array} validators + * @param {*} value Value to validate. + * @returns {String} Translated error message of the first validator that returns an error. + Empty string if value is valid. + */ +export function getInvalidText(validators, value) { + return ( + validators + .map(validator => translateValidator(validator)(value)) + .find(validation => validation !== true) || '' + ); +} + // Node validation // These functions return an array of error codes export function getNodeTitleErrors(node) {