aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/components/auth/Invite.js25
-rw-r--r--src/helpers/validation-helpers.js2
-rw-r--r--src/lib/Form.js5
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
19export function url({ field }) { 19export 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 // // },