This patch allows email adresses of the form john.public@company.hamburg
This fixes the bug: https://bugzilla.proxmox.com/show_bug.cgi?id=716

Note that this patch only deals will the client side validation, a
separate deals with the server side validation
(http://pve.proxmox.com/pipermail/pve-devel/2015-September/017246.html)

Implementation:
Just copied the original email regexp from ExtJS, and bumped the TLD length
from 6 to the max allowed by the corresponding RFC, ie 63 
(https://tools.ietf.org/html/rfc1034)
---
 www/manager/Toolkit.js       | 8 +++++++-
 www/manager/dc/OptionView.js | 2 +-
 www/manager/dc/UserEdit.js   | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/www/manager/Toolkit.js b/www/manager/Toolkit.js
index 65be809..d38a82c 100644
--- a/www/manager/Toolkit.js
+++ b/www/manager/Toolkit.js
@@ -83,7 +83,13 @@ Ext.apply(Ext.form.field.VTypes, {
     DnsName: function(v) {
        return 
(/^(([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?)\.)*([A-Za-z0-9]([A-Za-z0-9\-]*[A-Za-z0-9])?)$/).test(v);
     },
-    DnsNameText: gettext('This is not a valid DNS name')
+    DnsNameText: gettext('This is not a valid DNS name'),
+
+    // workaround for https://www.sencha.com/forum/showthread.php?302150
+    pveMail: function(v) {
+        return 
(/^(\w+)([\-+.][\w]+)*@(\w[\-\w]*\.){1,5}([A-Za-z]){2,63}$/).test(v);
+    },
+    pveMailText: gettext('This field should be an e-mail address in the format 
"u...@example.com"'),
 });
 
 // we dont want that a displayfield set the form dirty flag! 
diff --git a/www/manager/dc/OptionView.js b/www/manager/dc/OptionView.js
index 9e33e32..1a94be7 100644
--- a/www/manager/dc/OptionView.js
+++ b/www/manager/dc/OptionView.js
@@ -85,7 +85,7 @@ Ext.define('PVE.dc.EmailFromEdit', {
            items: {
                xtype: 'pvetextfield',
                name: 'email_from',
-               vtype: 'email',
+               vtype: 'pveMail',
                emptyText: gettext('Send emails from root@$hostname'),
                deleteEmpty: true,
                value: '',
diff --git a/www/manager/dc/UserEdit.js b/www/manager/dc/UserEdit.js
index bb110b5..2ef8bce 100644
--- a/www/manager/dc/UserEdit.js
+++ b/www/manager/dc/UserEdit.js
@@ -117,7 +117,7 @@ Ext.define('PVE.dc.UserEdit', {
                xtype: 'textfield',
                name: 'email',
                fieldLabel: gettext('E-Mail'),
-               vtype: 'email'
+               vtype: 'pveMail'
            }
        ];
 
-- 
2.1.4


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to