-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
To be able to partially validate models, I have added a file with this content - which overrides the BsForm provided by this package.
Setting `{{bs-form validationOptions=(hash on=(array 'fieldPath') excludes=(array 'otherPath')) enables this.
I'm not sure about model.set('validations.errors', validations.get('errors'));
but model.get('isTruelyValid')
seems to work.
import ObjectProxy from '@ember/object/proxy';
import { Promise as EmberPromise } from 'rsvp';
import BsForm from 'ember-bootstrap/components/bs-form';
export default BsForm.extend({
validationOptions: {},
validate(model) {
return new EmberPromise((resolve, reject) => {
let m = model;
if (model instanceof ObjectProxy) {
m = model.get('content');
}
m.validate(this.get('validationOptions')).then(
validations => {
model.set('validations.errors', validations.get('errors'));
model.get('validations.isTruelyValid') ? resolve() : reject();
},
error => {
reject();
}
);
});
}
});
Thoughts? think it might be good to create a PR?
Metadata
Metadata
Assignees
Labels
No labels