diff --git a/client/views/grade/EditPanel.jsx b/client/views/grade/EditPanel.jsx index 0dc9b3fc85e44acfa4c4a7d120704106ba9fc886..6802f2344455f0120cc678133c90c5bc9a29c709 100644 --- a/client/views/grade/EditPanel.jsx +++ b/client/views/grade/EditPanel.jsx @@ -54,7 +54,7 @@ class EditPanel extends React.Component { }) } changeScore = (event) => { - const patt = new RegExp(/^([1-9]\d*|0)?$/); + const patt = new RegExp(/^(-|(-?[1-9]\d*)|0)?$/); if (patt.test(event.target.value)) { this.setState({ @@ -137,7 +137,8 @@ class EditPanel extends React.Component { <div className="panel-block"> <BackButton onClick={this.props.toggleEdit} /> - <SaveButton onClick={this.saveFeedback} disabled={!this.state.name} exists={this.props.feedback} /> + <SaveButton onClick={this.saveFeedback} exists={this.props.feedback} + disabled={ !this.state.name || (this.state.score && isNaN(parseInt(this.state.score))) } /> </div> </nav> )