adopted-ember-addons / adopted-ember-addons/ember-cp-validations

Validations including a has-many relationship broken when lazily evaluated

Aperta
#686 0 commenti 2 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
439
Fork
172
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Environment

- Ember Version: 3.16
- Ember CLI Version: 3.16?
- Ember CP Validations Version: 4

### Steps to Reproduce
outerClass:
```
buildValidations({
innerClasses: [
validator('has-many'),
validator('inline', {
dependentKeys: ['model.innerClasses.@each.foo'],
validate(value) { ... }
}],
});
```

innerClass:
```
buildValidations({
foo: validator('presence', { presence: true }),
bar: validator('presence', { presence: true }),
});
```

1. While running the app, cause both the `inline` and `has-many` validations to fail.
2. Fix the problem with `innerClass` so all its validations pass, but _don't_ fix the `inline` validation

## Expected results
Validations fail. `outerClass.validations.errors` should include 1 error with `type === 'inline'` and `attribute === 'innerClasses'`

## Actual results
Validations pass

## Workarounds
Any one of:
* Pass `{ lazy: false }` to outerClass's `buildValidations` call.
* Reorder the array passed to outerClass's `buildValidations` call so the `has-many` validation is last

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.