Skip to content

Commit 65b009a

Browse files
committed
IBX-9274: Added URL validation
1 parent 046a1c5 commit 65b009a

File tree

1 file changed

+16
-3
lines changed
  • src/bundle/Resources/public/js/scripts/fieldType

1 file changed

+16
-3
lines changed

src/bundle/Resources/public/js/scripts/fieldType/ezurl.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,30 @@
77

88
class EzUrlValidator extends ibexa.BaseFieldValidator {
99
validateUrl(event) {
10+
const result = {
11+
isError: false,
12+
errorMessage: null,
13+
};
1014
const input = event.currentTarget;
15+
const urlValue = input.value.trim();
1116
const isRequired = input.required;
12-
const isEmpty = !input.value.trim();
13-
const isError = isEmpty && isRequired;
17+
const isEmpty = !urlValue;
1418
const label = input.closest(SELECTOR_FIELD_LINK).querySelector(SELECTOR_LABEL).innerHTML;
15-
const result = { isError };
1619

1720
if (isRequired && isEmpty) {
21+
result.isError = true;
1822
result.errorMessage = ibexa.errors.emptyField.replace('{fieldName}', label);
1923
}
2024

25+
if (!isEmpty) {
26+
try {
27+
new URL(urlValue);
28+
} catch (error) {
29+
result.isError = true;
30+
result.errorMessage = ibexa.errors.invalidUrl;
31+
}
32+
}
33+
2134
return result;
2235
}
2336
}

0 commit comments

Comments
 (0)