From 56520969f508c1db257d7573962ad6b762205e56 Mon Sep 17 00:00:00 2001 From: haraldox Date: Fri, 19 Jan 2018 17:26:17 +0100 Subject: alternative UX implementation of check for email address count > 0 comment out line 122 to test --- src/components/auth/Invite.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/components/auth') diff --git a/src/components/auth/Invite.js b/src/components/auth/Invite.js index 3eb1f2765..c4c35d538 100644 --- a/src/components/auth/Invite.js +++ b/src/components/auth/Invite.js @@ -30,6 +30,10 @@ const messages = defineMessages({ id: 'invite.skip.label', defaultMessage: '!!!I want to do this later', }, + noEmailAddresses: { + id: 'invite.error.noEmails', + defaultMessage: '!!!At least one email address is required', + } }); @observer @@ -64,6 +68,16 @@ export default class Invite extends Component { e.preventDefault(); this.form.submit({ onSuccess: (form) => { + + const atLeastOneEmailAddress = form.$('invite') + .map(invite => {return invite.$('email').value}) + .some(email => email.trim() !== '') + + if (!atLeastOneEmailAddress) { + form.invalidate('no-email-addresses') + return + } + this.props.onSubmit({ invites: form.values().invite }); }, onError: () => {}, @@ -97,6 +111,11 @@ export default class Invite extends Component { ))} + {form.error === 'no-email-addresses' && ( +

+ {intl.formatMessage(messages.noEmailAddresses)} +

+ )}