Comments (3)
I believe we have two options here. The first is to expand the dependent
validator which currently adds a dependent key on dependent.isTruelyValid
by also adding dependent
to the list.
var Validations = buildValidations({
x: [ validator('x-custom'), validator('dependent', { on: ['foo', 'bar.x']}) ]
});
The second, is to expose a public api to add custom dependent keys.
var Validations = buildValidations({
x: validator('x-custom', { dependentKeys: ['foo', 'bar.x'] })
});
@blimmer @stefanpenner thoughts?
from ember-cp-validations.
@offirgolan One thing to keep in mind is that a validator may be dependent on another validator or a property on the model. For instance, the dependent
validator uses on
to specify a path to another validator and the confirmation
validator uses on
to specify a path to a _model
attribute.
One use case I'm thinking of is "make sure this model has least one hasMany model with this property". The workaround today could be to create a computed property on the model:
hasAtLeastOneFeaturedPost: computed('[email protected]', function() {
return _.some(this.get('posts'), (p) => p.get('isFeatured'));
}
And then validate that that is true, but it would be nice to be able to express that with just a validator.
var Validations = buildValidations({
featuredPost: validator('has-some', { collection: 'posts', attribute: 'isFeatured' })
});
from ember-cp-validations.
Im not sure I follow...
Wouldn't you be able to achieve the same functionality by doing something like this
var Validations = buildValidations({
featuredPost: validator(function(value, options, model) {
return _.some(model.get('posts'), (p) => p.get('isFeatured'));
}, { dependentKeys: ['[email protected]'] })
});
from ember-cp-validations.
Related Issues (20)
- Has-many relationship propagates 'messages' property but not 'errors' property
- Validations including a has-many relationship broken when lazily evaluated
- Getting Unit Tests to Work HOT 3
- Assertion Failed with Embroider HOT 3
- Ember CP validation does not support ember octane with glimmer component HOT 4
- After update to ember 3.27.5 there is an error: Uncaught TypeError: (0 , _string.isHTMLSafe) is not a function HOT 8
- Ember Global deprecation warning due to old version of ember-cli-babel HOT 4
- Installing this addon breaks build on Ember 4 HOT 1
- Running ember-cp-validations using typescript
- Documentation site no longer exists HOT 1
- Release strategy HOT 27
- Setup release, changelog, etc according to the guidelines HOT 3
- Setup Docs HOT 1
- [Feature Request] Restore date validator capabilities re: 'format' and 'precision,' and allow use of 'now' as a reference time HOT 8
- Multiple conditionally required fields validation
- Validations with EmberObject does not work? HOT 3
- 3.x Documentation link is down
- `Error: "EmberObject.create no longer supports.."` on Ember-4.12 addon - ONLY during embroider-safe scenario HOT 1
- Embroider: Use of ember internals
- Embroider: Use of ember-data internals HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ember-cp-validations.