-
-
Notifications
You must be signed in to change notification settings - Fork 27
Add #removeError and #removeErrors to BufferedChangeset #189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@jkeen thank you for this PR! I hope it can be merged :) as it is very useful |
@mansona Any chance this could be considered for merging? I just updated the linked PR on |
^ This PR should get tests passing on this branch again |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks mostly there, just a couple items
I'm using ember-changeset with ember-changeset-validations with some validations where the presence requirement of one field is dependent on the value of another. If the dependent field ends up with an error and then the field it depends on changes, the error should really be cleared. But it didn't seem like there was a clean way to do that without actually rolling back the property. This seems to have come up a number of times in issues and PRs.
This seems to be something that works in the newer
validated-changeset
4.x-5.x experiment, but is not something available in the classic BufferedChangeset.adopted-ember-addons/ember-changeset#361
adopted-ember-addons/ember-changeset#282
There were some workarounds in the above threads, like effectively "clearing" an error by
changeset.addError('email', null)
, but in my testing it still left the changeset with anisValid = false
state.This PR adds
removeError
andremoveErrors
to BufferedChangeset, mirroring the behavior in the newer ValidatedChangeset, and opening the door for anember-changeset
PR making this interface public.This also should address #170