Skip to content

Instantly share code, notes, and snippets.

@ArtMin96
Created February 23, 2025 13:19
Show Gist options
  • Save ArtMin96/c931a793da9e34835d413b025d72884b to your computer and use it in GitHub Desktop.
Save ArtMin96/c931a793da9e34835d413b025d72884b to your computer and use it in GitHub Desktop.
Add reactive $wire.$errors to show and remove errors without needing a network request
document.addEventListener('livewire:init'), () => {
Livewire.hook('component.init', ({ component }) => {
const errors = {}
component.ephemeral.$errors = Object.assign({}, errors)
component.reactive.$errors = Object.assign({}, errors)
})
Livewire.hook('commit.prepare', ({ component }) => {
delete component.ephemeral.$errors
delete component.reactive.$errors
})
Livewire.hook('commit', ({ component, succeed }) => {
succeed(({ snapshot }) => {
const errors = JSON.parse(snapshot).memo.errors
component.ephemeral.$errors = Object.assign({}, errors)
component.reactive.$errors = Object.assign({}, errors)
})
})
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment