add nova
This commit is contained in:
49
nova/resources/js/mixins/HandlesValidationErrors.js
Normal file
49
nova/resources/js/mixins/HandlesValidationErrors.js
Normal file
@@ -0,0 +1,49 @@
|
||||
import { Errors } from 'form-backend-validation'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
errors: { default: () => new Errors() },
|
||||
},
|
||||
|
||||
inject: { index: { default: null }, viaParent: { default: null } },
|
||||
|
||||
data: () => ({
|
||||
errorClass: 'form-control-bordered-error',
|
||||
}),
|
||||
|
||||
computed: {
|
||||
errorClasses() {
|
||||
return this.hasError ? [this.errorClass] : []
|
||||
},
|
||||
|
||||
fieldAttribute() {
|
||||
return this.field.attribute
|
||||
},
|
||||
|
||||
validationKey() {
|
||||
return this.nestedValidationKey || this.field.validationKey
|
||||
},
|
||||
|
||||
hasError() {
|
||||
return this.errors.has(this.validationKey)
|
||||
},
|
||||
|
||||
firstError() {
|
||||
if (this.hasError) {
|
||||
return this.errors.first(this.validationKey)
|
||||
}
|
||||
},
|
||||
|
||||
nestedAttribute() {
|
||||
if (this.viaParent) {
|
||||
return `${this.viaParent}[${this.index}][${this.field.attribute}]`
|
||||
}
|
||||
},
|
||||
|
||||
nestedValidationKey() {
|
||||
if (this.viaParent) {
|
||||
return `${this.viaParent}.${this.index}.fields.${this.field.attribute}`
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user