diff options
author | Stefan Malzner <stefan@adlk.io> | 2018-01-30 20:11:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-30 20:11:14 +0100 |
commit | 81c4e99915fc56997ae118e8474fb2689170c2bc (patch) | |
tree | 13969569c93a9dc80e42562421c9f0cff5d995d5 | |
parent | Merge pull request #599 from meetfranz/fix-form-validation (diff) | |
parent | fix linting errors (diff) | |
download | ferdium-app-81c4e99915fc56997ae118e8474fb2689170c2bc.tar.gz ferdium-app-81c4e99915fc56997ae118e8474fb2689170c2bc.tar.zst ferdium-app-81c4e99915fc56997ae118e8474fb2689170c2bc.zip |
Merge pull request #630 from meetfranz/fix-invite-screen
Fix invite screen
-rw-r--r-- | src/components/auth/Invite.js | 25 | ||||
-rw-r--r-- | src/helpers/validation-helpers.js | 2 | ||||
-rw-r--r-- | src/lib/Form.js | 5 |
3 files changed, 19 insertions, 13 deletions
diff --git a/src/components/auth/Invite.js b/src/components/auth/Invite.js index a420f98a2..c6dca3a65 100644 --- a/src/components/auth/Invite.js +++ b/src/components/auth/Invite.js | |||
@@ -45,16 +45,16 @@ export default class Invite extends Component { | |||
45 | form = new Form({ | 45 | form = new Form({ |
46 | fields: { | 46 | fields: { |
47 | invite: [...Array(3).fill({ | 47 | invite: [...Array(3).fill({ |
48 | name: { | 48 | fields: { |
49 | label: this.context.intl.formatMessage(messages.nameLabel), | 49 | name: { |
50 | // value: '', | 50 | label: this.context.intl.formatMessage(messages.nameLabel), |
51 | placeholder: this.context.intl.formatMessage(messages.nameLabel), | 51 | placeholder: this.context.intl.formatMessage(messages.nameLabel), |
52 | }, | 52 | }, |
53 | email: { | 53 | email: { |
54 | label: this.context.intl.formatMessage(messages.emailLabel), | 54 | label: this.context.intl.formatMessage(messages.emailLabel), |
55 | // value: '', | 55 | placeholder: this.context.intl.formatMessage(messages.emailLabel), |
56 | validators: [email], | 56 | validators: [email], |
57 | placeholder: this.context.intl.formatMessage(messages.emailLabel), | 57 | }, |
58 | }, | 58 | }, |
59 | })], | 59 | })], |
60 | }, | 60 | }, |
@@ -74,6 +74,10 @@ export default class Invite extends Component { | |||
74 | const { form } = this; | 74 | const { form } = this; |
75 | const { intl } = this.context; | 75 | const { intl } = this.context; |
76 | 76 | ||
77 | const atLeastOneEmailAddress = form.$('invite') | ||
78 | .map(invite => invite.$('email').value) | ||
79 | .some(emailValue => emailValue.trim() !== ''); | ||
80 | |||
77 | return ( | 81 | return ( |
78 | <div className="auth__container auth__container--signup"> | 82 | <div className="auth__container auth__container--signup"> |
79 | <form className="franz-form auth__form" onSubmit={e => this.submit(e)}> | 83 | <form className="franz-form auth__form" onSubmit={e => this.submit(e)}> |
@@ -96,6 +100,7 @@ export default class Invite extends Component { | |||
96 | <Button | 100 | <Button |
97 | type="submit" | 101 | type="submit" |
98 | className="auth__button" | 102 | className="auth__button" |
103 | disabled={!atLeastOneEmailAddress} | ||
99 | label={intl.formatMessage(messages.submitButtonLabel)} | 104 | label={intl.formatMessage(messages.submitButtonLabel)} |
100 | /> | 105 | /> |
101 | <Link | 106 | <Link |
diff --git a/src/helpers/validation-helpers.js b/src/helpers/validation-helpers.js index eeb12cab7..a8a242d54 100644 --- a/src/helpers/validation-helpers.js +++ b/src/helpers/validation-helpers.js | |||
@@ -13,7 +13,7 @@ export function email({ field }) { | |||
13 | isValid = true; | 13 | isValid = true; |
14 | } | 14 | } |
15 | 15 | ||
16 | return [isValid, `${field.label} is not a valid email address`]; | 16 | return [isValid, `${field.label} not valid`]; |
17 | } | 17 | } |
18 | 18 | ||
19 | export function url({ field }) { | 19 | export function url({ field }) { |
diff --git a/src/lib/Form.js b/src/lib/Form.js index a22699b45..9b8321948 100644 --- a/src/lib/Form.js +++ b/src/lib/Form.js | |||
@@ -21,8 +21,9 @@ export default class DefaultForm extends Form { | |||
21 | 21 | ||
22 | options() { | 22 | options() { |
23 | return { | 23 | return { |
24 | validateOnInit: false, | 24 | validateOnInit: false, // default: true |
25 | // validateOnBlur: true, | 25 | // validateOnBlur: true, // default: true |
26 | // validateOnChange: true // default: false | ||
26 | // // validationDebounceWait: { | 27 | // // validationDebounceWait: { |
27 | // // trailing: true, | 28 | // // trailing: true, |
28 | // // }, | 29 | // // }, |