in libs/designer/src/lib/core/utils/validation.ts [310:370]
function validateStringFormat(parameterFormat: string, parameterValue: string, isTemplateExpression: boolean): string {
if (!parameterFormat) {
return '';
}
const intl = getIntl();
switch (parameterFormat.toLowerCase()) {
case 'datetime':
case Constants.SWAGGER.FORMAT.DATETIME: {
if (isTemplateExpression) {
return '';
}
// RFC 3339
if (Number.isNaN(Date.parse(parameterValue)) || !regex.datetime.test(parameterValue)) {
return intl.formatMessage({
defaultMessage: 'Enter a valid datetime.',
id: '3uA4ml',
description: 'Error validation message for date times',
});
}
break;
}
case Constants.SWAGGER.FORMAT.EMAIL:
// RFC 5322
// Support validating multiple emails separated by ;
if (isTemplateExpression) {
try {
return validateEmailLiteralsFromExpression(parameterValue);
} catch {
// NOTE: Parser throws exceptions when invalid emails are entered,
// switch to normal validation in such cases.
return validateStringEmails(parameterValue);
}
} else {
return validateStringEmails(parameterValue);
}
case Constants.SWAGGER.FORMAT.URI: {
if (isTemplateExpression) {
return '';
}
if (regex.whiteSpace.test(parameterValue)) {
return intl.formatMessage({
defaultMessage: 'Whitespaces must be encoded for URIs.',
id: 'A8T1X/',
description: 'Error validation message for URIs with whitespace',
});
}
if (!regex.url.test(parameterValue)) {
return intl.formatMessage({ defaultMessage: 'Enter a valid URI.', id: '1r9ljA', description: 'Error validation message for URIs' });
}
break;
}
default:
break;
}
return '';
}