ember-changeset-validations
ember-changeset-validations copied to clipboard
Multi field validation (i.e. one of must be present) can result in incorrect `isValid` state
This might be more of a feature request than a bug (at least with the provided validators).
I have implemented a validator which checks for presence OR for the presence of other fields (so at least one of the fields must be "present" for the validator to pass). Currently there is no way to call validation for these other fields as the actual changeset
is not passed to the validator function (just the changes and the model).
The only "workaround" right now is to call validate on the main changeset validating all fields, but this means that before that happens, the isValid state is incorrect (and errors for said fields might be present on the changeset).
This is likely also an issue for the validator proposed in #189 / #191
Example:
- Two fields of which one is currently in an invalid state.
- The other field is filled by a user and changes to valid state.
- The other field remains invalid even though it passes validation
- Calling
changeset.validate()
turns everything valid.
Ideally you'd be able to call changeset.validate('my-other-field')
instead of needing to validate the entire changeset.