# HG changeset patch # User souliane # Date 1452937711 -3600 # Node ID 77a494f13118a12d8667b70d925541feca0bffbb # Parent c64c039bb403e203dd3e6bd930e0a65fb2a3ac50 browser (register): improve some regex after Link Mauve's comments: - accept . and + in the email address and external JID's user - it is still very restrictive, but better than before - TODO: check email reception or JID existence instead diff -r c64c039bb403 -r 77a494f13118 src/browser/sat_browser/register.py --- a/src/browser/sat_browser/register.py Fri Jan 15 18:00:07 2016 +0100 +++ b/src/browser/sat_browser/register.py Sat Jan 16 10:48:31 2016 +0100 @@ -190,7 +190,7 @@ if not self.checkLogin(self.register_login_box.getText()): self.register_warning_msg.setHTML(_('Invalid login, valid characters
are a-z A-Z 0-9 _ -')) elif not self.checkEmail(self.email_box.getText()): - self.register_warning_msg.setHTML(_('Invalid email address')) + self.register_warning_msg.setHTML(_('Invalid email address
(or not accepted yet)')) elif len(self.register_pass_box.getText()) < C.PASSWORD_MIN_LENGTH: self.register_warning_msg.setHTML(_('Your password must contain
at least %d characters.') % C.PASSWORD_MIN_LENGTH) else: @@ -242,6 +242,7 @@ @return bool """ # FIXME: Pyjamas re module is not stable so we use pure JS instead + # FIXME: login is restricted to this regex until we fix the account creation JS("""return /^(\w|-)+$/.test(text);""") def checkEmail(self, text): @@ -251,7 +252,8 @@ @return bool """ # FIXME: Pyjamas re module is not stable so we use pure JS instead - JS("""return /^(\w|-)+@(\w|-)+\.(\w|-)+$/.test(text);""") + # FIXME: send a message to validate the email instead of using a bad regex + JS("""return /^(\w|-|\.|\+)+@(\w|-)+\.(\w|-)+$/.test(text);""") def checkJID(self, text): """Check if the given text is a valid JID. @@ -260,7 +262,8 @@ @return bool """ # FIXME: Pyjamas re module is not stable so we use pure JS instead - JS("""return /^(\w|-)+(@(\w|-)+\.(\w|-)+)?$/.test(text);""") + # FIXME: this regex is too restrictive for people using external XMPP account + JS("""return /^(\w|-|\.|\+)+(@(\w|-)+\.(\w|-)+)?$/.test(text);""") class RegisterBox(PopupPanel):