diff --git a/node_modules/oae-core/userdetails/userdetails.html b/node_modules/oae-core/userdetails/userdetails.html
index 862f4272154..9799c3b467a 100644
--- a/node_modules/oae-core/userdetails/userdetails.html
+++ b/node_modules/oae-core/userdetails/userdetails.html
@@ -14,7 +14,7 @@
-
+
diff --git a/shared/oae/api/oae.api.util.js b/shared/oae/api/oae.api.util.js
index f8f995f2bd7..1e2e7cbd057 100644
--- a/shared/oae/api/oae.api.util.js
+++ b/shared/oae/api/oae.api.util.js
@@ -589,8 +589,11 @@ define(['exports', 'require', 'jquery', 'underscore', 'oae.api.config', 'markdow
if (options.submitHandler && $.isFunction(options.submitHandler)) {
submitCallback = options.submitHandler;
}
+
+ // Register common custom validation methods
+ $.validator.addMethod('displayname', isValidDisplayName, require('oae.api.i18n').translate('__MSG__NAMES_CANNOT_INCLUDE_URLS_OR_AT_SIGNS__'));
- // Register the custom validation methods
+ // Register additional custom validation methods
if (options.methods) {
$.each(options.methods, function(key, value) {
$.validator.addMethod(key, value.method, value.text);
diff --git a/shared/oae/bundles/ui/default.properties b/shared/oae/bundles/ui/default.properties
index 28418b55578..434c5c90c92 100644
--- a/shared/oae/bundles/ui/default.properties
+++ b/shared/oae/bundles/ui/default.properties
@@ -398,6 +398,7 @@ MY_PICTURE = My picture
MY_PREFERENCES = My preferences
MY_PROFILE = My profile
NAME = Name
+NAMES_CANNOT_INCLUDE_URLS_OR_AT_SIGNS = Names cannot include URLs or the '@' character
NAME_COLON = Name:
NARROW_BY_KEYWORD = Narrow by keyword
NETWORK = Network