adopted-ember-addons / ember-validators

A collection of EmberJS validators
Other
24 stars 40 forks source link

date validator: inconsistent meaning of allowBlank #65

Open bgentry opened 6 years ago

bgentry commented 6 years ago

The date validation has an option isBlank which is documented like so:

If true, skips validation if the value is empty

This accurately describes the implementation, which skips validation if isEmpty returns true for the value.

Other validators use allowBlank in combination with an isBlank check, and allowNone for an isEmpty check. This is inconsistent; blank should always mean blank, and empty/none should always mean empty.

There may be other validators with this problem, but I haven't checked.

Should this be fixed, and if so, how? One option is to deprecate the current allowBlank option in favor of allowNone, which would behave the same way. At the next major release, you could then add a real allowBlank option if desired.

offirgolan commented 6 years ago

@bgentry you're right. There are definitely some inconsistencies here. What are your thoughts about instead using allowNone which will use Ember.isNone and allowEmpty which will use Ember.isEmpty? All of which can be defaulted to false and we can do a major version release.