Reputation:
I have this code. How inside this.$refs.form.setErrors can I access the keyName variable? My code is not working.
async handleRegister() {
this.$axios.post('register', { data: this.registerForm })
.then(response => {
let dataErrors = response.data.errors
let errors = Object.keys(dataErrors).map((key) => [key, dataErrors[key]]);
for (let error of errors) {
let keyName = 'registerForm.name'
this.$refs.form.setErrors({
keyName: error[1][0]
})
}
})
}
EDIT
I gave such an example, but the variable name will have a different value assigned. I did it according to the Vivek Singh user way. Is it okay?
for (let error of errors) {
const formErrorsObject = {}
formErrorsObject[`registerForm.${error[0]}`] = error[1][0]
this.$refs.form.setErrors(formErrorsObject)
}
Upvotes: 0
Views: 56
Reputation: 15847
When creating an object, you can type in your own key name, you don't need to use a variable.
async handleRegister() {
this.$axios.post('register', { data: this.registerForm })
.then(response => {
let dataErrors = response.data.errors
let errors = Object.keys(dataErrors).map((key) => [key, dataErrors[key]]);
for (let error of errors) {
this.$refs.form.setErrors({
'registerForm.name': error[1][0]
})
}
})
}
Upvotes: 1
Reputation: 685
for (let error of errors) {
const obj={};
obj['registerForm.name']=error[1][0];
this.$refs.form.setErrors(obj);
}
You can set an object like this;
Upvotes: 0