Appearance
Handling Errors
We have two kinds of errors. Standard errors, and validation errors. Usually, these two kinds of errors are handled differently so we split them up.
Standard Errors
Validation Errors
Throwing Errors
Be default, actions do not throw errors. You can change that behaviour globally with the following configuration:
ts
import { index, vueModelState } from '@vuemodel/core'
vueModelState.config.throw = true
Or locally, by setting throw: true
while calling the action:
ts
const response = await create(
Post,
{ title: 'Vue backend unleashed!' },
{ throw: true }
)
Error Notifications
Sometimes when prototyping, it's unnecessary work displaying errors on the frontend. Instead, you may wish to intercept all requests, and display a notification when there's an error.
For this, we have notifyOnError
.
We can tell VueModel how to handle errors, by setting up our errorNotifiers
globally:
ts
// main.ts (or in a boot file if using Quasar)
import { vueModelState } from '@vuemodel/core'
vueModelState.drivers.local.config = {
errorNotifiers: {
create: () => { return {} },
},
}
Then we can either enable notifyOnError
globally:
ts
// this would be below the example code above
vueModelState.config.notifyOnError = { create: true }
Or pass notifyOnError
to the actions config object:
ts
const response = await create(
Post,
{ notifyOnError: true }
)