cours-ending/src/CoursEndingBundle/Resources/public/js/app.js

60 lines
1.9 KiB
JavaScript

Vue.config.debug = true;
Vue.config.devtools = true;
var x = new Vue({
el: '#forms-render',
data: {
forms: []
},
ready: function() {
this.fetchForms();
},
methods: {
fetchForms: function() {
this.$http.get(Routing.generate('api_get_forms'), function(forms) {
for (var i = 0; i < forms.data.length; i++) {
forms.data[i].errors = {};
}
this.$set('forms', forms.data);
});
},
save: function() {
var that = this;
var data = {
forms: {
forms: this.forms
}
};
this.$http.post(Routing.generate('api_post_forms'), data)
.success(function (data) {
console.log(data);
})
.error(function (data) {
console.log(data);
if (data.hasOwnProperty("code") && data.code === 400
&& data.hasOwnProperty('message') && data.message === "Validation Failed" ) {
var k = 0;
for (var i = 0; i < data.errors.children.forms.children.length; i++) {
var form = data.errors.children.forms.children[i];
//console.log(form);
for ( var j in form ) {
var errorsInputs = form[j];
//console.log(errorsInputs);
that.forms[k].errors = errorsInputs;
//that.forms[k].label = 'toto';
k++;
}
}
console.log(that.forms);
//that.$set('forms', that.forms); //change rien avec ou sans
}
});
}
}
})