Shows error if response returns an error

Added validation so the user shouldnt be able to submit the form without the title present
This commit is contained in:
Phil Hughes 2016-10-05 14:58:29 +01:00
parent a68f1fdd29
commit 2f53a8d08f
2 changed files with 22 additions and 2 deletions

View file

@ -8,7 +8,8 @@
},
data() {
return {
title: ''
title: '',
error: false
};
},
watch: {
@ -19,6 +20,10 @@
methods: {
submit(e) {
e.preventDefault();
if (this.title.trim() === '') return;
this.error = false;
const labels = this.list.label ? [this.list.label] : [];
const issue = new ListIssue({
title: this.title,
@ -26,9 +31,21 @@
});
this.list.newIssue(issue)
.then(() => {
.then((data) => {
// Need this because our jQuery very kindly disables buttons on ALL form submissions
$(this.$els.submitButton).enable();
})
.catch(() => {
// Need this because our jQuery very kindly disables buttons on ALL form submissions
$(this.$els.submitButton).enable();
// Remove issue with no ID
const issue = this.list.findIssue(undefined);
this.list.removeIssue(issue);
// Show error message
this.error = true;
this.showIssueForm = true;
});
this.cancel();

View file

@ -46,6 +46,9 @@
"v-show" => "list.type !== 'done' && showIssueForm" }
.card.board-new-issue-form
%form{ "@submit" => "submit($event)" }
.flash-container{ "v-if" => "error" }
.flash-alert
An error occured. Please try again.
%label.label-light{ ":for" => "list.id + '-title'" }
Title
%input.form-control{ type: "text",