From 3bb902b03316e422573e1b574c5d4a676f3a4086 Mon Sep 17 00:00:00 2001 From: JP1998 Date: Tue, 28 May 2019 16:54:51 +0200 Subject: [PATCH 1/3] Check for invalid inputs before applying new group size --- pages/create.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pages/create.js b/pages/create.js index 5cfa2ec..2fdc781 100644 --- a/pages/create.js +++ b/pages/create.js @@ -163,12 +163,14 @@ class CreateTournamentForm extends React.Component { handleGroupSizeInput(input) { const newSize = input.target.value; - if (newSize <= this.state.groupAdvance) { - this.setState({ - groupSize: newSize, groupAdvance: newSize - 1 - }); - } else { - this.setState({groupSize: newSize}); + if (newSize !== undefined && newSize > 2) { + if (newSize <= this.state.groupAdvance) { + this.setState({ + groupSize: newSize, groupAdvance: newSize - 1 + }); + } else { + this.setState({groupSize: newSize}); + } } } From 2defc3df22dce66eb94274949ed2861156938267 Mon Sep 17 00:00:00 2001 From: JP1998 Date: Tue, 28 May 2019 22:55:19 +0200 Subject: [PATCH 2/3] Refactor the handleGroupSizeInput method --- pages/create.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/pages/create.js b/pages/create.js index 2fdc781..b49123f 100644 --- a/pages/create.js +++ b/pages/create.js @@ -163,14 +163,17 @@ class CreateTournamentForm extends React.Component { handleGroupSizeInput(input) { const newSize = input.target.value; - if (newSize !== undefined && newSize > 2) { - if (newSize <= this.state.groupAdvance) { - this.setState({ - groupSize: newSize, groupAdvance: newSize - 1 - }); - } else { - this.setState({groupSize: newSize}); - } + + if (newSize === undefined || newSize < 2) { + return; + } + + if (newSize <= this.state.groupAdvance) { + this.setState({ + groupSize: newSize, groupAdvance: newSize - 1 + }); + } else { + this.setState({groupSize: newSize}); } } From 3fc8a5d2917fc30a223dd6472c5ceb96496f2935 Mon Sep 17 00:00:00 2001 From: JP1998 Date: Tue, 28 May 2019 22:57:41 +0200 Subject: [PATCH 3/3] Check the group advance input for valid values --- pages/create.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pages/create.js b/pages/create.js index b49123f..97a3755 100644 --- a/pages/create.js +++ b/pages/create.js @@ -163,7 +163,7 @@ class CreateTournamentForm extends React.Component { handleGroupSizeInput(input) { const newSize = input.target.value; - + if (newSize === undefined || newSize < 2) { return; } @@ -178,7 +178,14 @@ class CreateTournamentForm extends React.Component { } handleGroupAdvanceInput(input) { - this.setState({groupAdvance: input.target.value}); + const newAdvance = input.target.value; + + if (newAdvance === undefined || newAdvance <= 0 || + newAdvance >= this.state.groupSize) { + return; + } + + this.setState({groupAdvance: newAdvance}); } handleGroupPhaseEnabledInput(input) {