mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-29 23:43:51 -04:00
1. simplify regex for email testing
2. keep valid emails in text area
This commit is contained in:
parent
e0be8e94ea
commit
a788533d13
2 changed files with 9 additions and 4 deletions
app
|
@ -152,7 +152,7 @@ block content
|
||||||
else
|
else
|
||||||
if emailValidator.state === 'invalid'
|
if emailValidator.state === 'invalid'
|
||||||
div.invalid-email-message(aria-hidden="true") please make sure all entries are valid emails
|
div.invalid-email-message(aria-hidden="true") please make sure all entries are valid emails
|
||||||
textarea.recipient-emails(rows=3, data-i18n="[placeholder]subscribe.recipient_emails_placeholder")
|
textarea.recipient-emails(rows=3, data-i18n="[placeholder]subscribe.recipient_emails_placeholder")=emailValidator.emailString()
|
||||||
div
|
div
|
||||||
button.recipients-subscribe-button.btn.btn-lg.btn-success(data-i18n="subscribe.subscribe_users")
|
button.recipients-subscribe-button.btn.btn-lg.btn-success(data-i18n="subscribe.subscribe_users")
|
||||||
if recipientSubs.state === 'declined'
|
if recipientSubs.state === 'declined'
|
||||||
|
|
|
@ -110,11 +110,16 @@ module.exports = class SubscriptionView extends RootView
|
||||||
class EmailValidator
|
class EmailValidator
|
||||||
|
|
||||||
validateEmails: (emails, render) ->
|
validateEmails: (emails, render) ->
|
||||||
emailRegex = /^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i
|
#taken from http://www.regular-expressions.info/email.html
|
||||||
@validEmails = (emailRegex.test(email.trim().toLowerCase()) for email in emails)
|
emailRegex = /[A-z0-9._%+-]+@[A-z0-9.-]+\.[A-z]{2,4}/
|
||||||
return @emailsInvalid(render) if _.contains(@validEmails, false)
|
@validEmails = (email for email in emails when emailRegex.test(email.trim().toLowerCase()))
|
||||||
|
return @emailsInvalid(render) if @validEmails.length < emails.length
|
||||||
return @emailsValid(render)
|
return @emailsValid(render)
|
||||||
|
|
||||||
|
emailString: ->
|
||||||
|
return unless @validEmails
|
||||||
|
return @validEmails.join('\n')
|
||||||
|
|
||||||
emailsInvalid: (render) ->
|
emailsInvalid: (render) ->
|
||||||
@state = "invalid"
|
@state = "invalid"
|
||||||
render()
|
render()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue