diff --git a/yubiadmin/apps/auth.py b/yubiadmin/apps/auth.py
index 41c0a8f..d4468b0 100644
--- a/yubiadmin/apps/auth.py
+++ b/yubiadmin/apps/auth.py
@@ -230,7 +230,7 @@ class ValidationServerForm(ConfigForm):
client_id = IntegerField('Client ID', [NumberRange(0)])
client_secret = TextField('API key')
server_list = ListField(
- 'Validation Server URLs', [URL()],
+ 'Validation Server URLs', [URL(require_tld=False)],
description="""
List of URLs to YubiKey validation servers.
Example: http://example.com/wsapi/2.0/verify
diff --git a/yubiadmin/apps/val.py b/yubiadmin/apps/val.py
index 58a0697..a5311f0 100644
--- a/yubiadmin/apps/val.py
+++ b/yubiadmin/apps/val.py
@@ -168,7 +168,7 @@ class SyncPoolForm(ConfigForm):
}
sync_pool = ListField(
- 'Sync Pool URLs', [URL()],
+ 'Sync Pool URLs', [URL(require_tld=False)],
description="""
List of URLs to other servers in the sync pool.
Example: http://example.com/wsapi/2.0/sync
@@ -193,7 +193,7 @@ class KSMForm(ConfigForm):
attrs = {'ksm_urls': {'rows': 5, 'class': 'input-xxlarge'}}
ksm_urls = ListField(
- 'KSM URLs', [URL()],
+ 'KSM URLs', [URL(require_tld=False)],
description="""
List of URLs to KSMs.
The URLs must be fully qualified, i.e., contain the OTP itself.