mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-24 21:13:35 -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
|
||||
if emailValidator.state === 'invalid'
|
||||
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
|
||||
button.recipients-subscribe-button.btn.btn-lg.btn-success(data-i18n="subscribe.subscribe_users")
|
||||
if recipientSubs.state === 'declined'
|
||||
|
|
|
@ -110,11 +110,16 @@ module.exports = class SubscriptionView extends RootView
|
|||
class EmailValidator
|
||||
|
||||
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
|
||||
@validEmails = (emailRegex.test(email.trim().toLowerCase()) for email in emails)
|
||||
return @emailsInvalid(render) if _.contains(@validEmails, false)
|
||||
#taken from http://www.regular-expressions.info/email.html
|
||||
emailRegex = /[A-z0-9._%+-]+@[A-z0-9.-]+\.[A-z]{2,4}/
|
||||
@validEmails = (email for email in emails when emailRegex.test(email.trim().toLowerCase()))
|
||||
return @emailsInvalid(render) if @validEmails.length < emails.length
|
||||
return @emailsValid(render)
|
||||
|
||||
emailString: ->
|
||||
return unless @validEmails
|
||||
return @validEmails.join('\n')
|
||||
|
||||
emailsInvalid: (render) ->
|
||||
@state = "invalid"
|
||||
render()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue