aboutsummaryrefslogtreecommitdiffstats
path: root/src/containers/settings/EditServiceScreen.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/containers/settings/EditServiceScreen.js')
-rw-r--r--src/containers/settings/EditServiceScreen.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js
index 191ef447b..c4228ec03 100644
--- a/src/containers/settings/EditServiceScreen.js
+++ b/src/containers/settings/EditServiceScreen.js
@@ -118,11 +118,22 @@ export default class EditServiceScreen extends Component {
118 }); 118 });
119 } 119 }
120 120
121 // More fine grained and use case specific validation rules
121 if (recipe.hasTeamId && recipe.hasCustomUrl) { 122 if (recipe.hasTeamId && recipe.hasCustomUrl) {
122 config.fields.team.validate = [oneRequired(['team', 'customUrl'])]; 123 config.fields.team.validate = [oneRequired(['team', 'customUrl'])];
123 config.fields.customUrl.validate = [url, oneRequired(['team', 'customUrl'])]; 124 config.fields.customUrl.validate = [url, oneRequired(['team', 'customUrl'])];
124 } 125 }
125 126
127 // If a service can be hosted and has a teamId or customUrl
128 if (recipe.hasHostedOption && (recipe.hasTeamId || recipe.hasCustomUrl)) {
129 if (config.fields.team) {
130 config.fields.team.validate = [];
131 }
132 if (config.fields.customUrl) {
133 config.fields.customUrl.validate = [url];
134 }
135 }
136
126 if (recipe.hasIndirectMessages) { 137 if (recipe.hasIndirectMessages) {
127 Object.assign(config.fields, { 138 Object.assign(config.fields, {
128 isIndirectMessageBadgeEnabled: { 139 isIndirectMessageBadgeEnabled: {