From 6de153571a4eaae36ef1a910e2f82ec2702be353 Mon Sep 17 00:00:00 2001 From: Pierre Dittgen Date: Wed, 3 Feb 2021 08:59:18 +0100 Subject: [PATCH 1/2] Adapt to change in validation report --- src/views/SchemaForm.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/SchemaForm.vue b/src/views/SchemaForm.vue index cce28ea..4d3f086 100644 --- a/src/views/SchemaForm.vue +++ b/src/views/SchemaForm.vue @@ -207,7 +207,7 @@ export default { .then(data => { this.formValidated = true this.faultyFields = [] - const errors = data.report.tables[0].errors + const errors = data.report.tasks[0].errors if (errors && errors.length > 0) { errors.forEach((error) => { this.dispatchError(error) From 64cfde6d8a5e304a44b478acff481ff0e84e905e Mon Sep 17 00:00:00 2001 From: Pierre Dittgen Date: Wed, 3 Feb 2021 12:38:04 +0100 Subject: [PATCH 2/2] Support legacy and new validation report --- src/components/FormGroup.vue | 12 +++++++++++- src/views/SchemaForm.vue | 8 ++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/components/FormGroup.vue b/src/components/FormGroup.vue index 830cc3f..b2afe7a 100644 --- a/src/components/FormGroup.vue +++ b/src/components/FormGroup.vue @@ -4,7 +4,7 @@ label-cols-lg="3" :label="field.name" :label-for="`field-${field.name}`" - :invalid-feedback="error.content" + :invalid-feedback="errorMessage" valid-feedback="Ce champ est valide" :state="isValid" :label-class="{'required': isRequired}" @@ -26,6 +26,16 @@ export default { mixins: [ValidateField], components: { VueMarkdown + }, + computed: { + errorMessage() { + // Test order matters. + // legacy report error contains 'content' (fr) and 'message' (en) properties + // New validation report only contains 'message' (fr) property + return this.error.content + ? this.error.content // legacy validation report + : this.error.message // new validation report + } } } diff --git a/src/views/SchemaForm.vue b/src/views/SchemaForm.vue index 4d3f086..77416f6 100644 --- a/src/views/SchemaForm.vue +++ b/src/views/SchemaForm.vue @@ -180,7 +180,9 @@ export default { return factory(StringField, field) }, dispatchError(error) { - let index = error['column-number'] + let index = error.fieldNumber + ? error.fieldNumber // new validation report + : error['column-number'] // legacy validation report this.faultyFields.push(this.fieldNames[index-1]) EventBus.$emit('field-error', this.fieldNames[index-1], error) }, @@ -207,7 +209,9 @@ export default { .then(data => { this.formValidated = true this.faultyFields = [] - const errors = data.report.tasks[0].errors + const errors = data.report.tasks + ? data.report.tasks[0].errors // new validation report + : data.report.tables[0].errors // legacy validation report if (errors && errors.length > 0) { errors.forEach((error) => { this.dispatchError(error)