7.8 KiB
7.8 KiB
Hanami::Validations
Validations mixin for Ruby objects
v2.0.0.rc1 - 2022-11-08
v2.0.0.beta4 - 2022-10-24
Changed
- [Tim Riley] Require latest dry-validation (to ensure best compatibility with Zeitwerk-enabled dry-rb gems) (#224)
v2.0.0.beta1 - 2022-07-20
Added
- [Luca Guidi] Official support for Ruby: MRI 3.1
v2.0.0.alpha2 - 2021-05-04
Added
- [Luca Guidi] Official support for Ruby: MRI 3.0
Changed
- [Luca Guidi] Drop support for Ruby: MRI 2.4, 2.5
v2.0.0.alpha1 - 2019-07-26
Added
- [Luca Guidi] Introduced
Hanami::Validator
- [Luca Guidi] Added support to validate JSON data
- [Luca Guidi] Added rules
- [Luca Guidi] Allow to inherit validations from superclasses (e.g.
ApplicationValidator < Hanami::Validator
=>SignupValidator < ApplicationValidator
) - [Luca Guidi] Allow to error messages to receive arbitrary information as a
Hash
(e.g.error_code: 123
), which will be interpolated in the final error message. - [Luca Guidi] Added support for validator external dependencies
Changed
- [Luca Guidi] Drop support for Ruby: MRI 2.3, JRuby 9.1.
- [Luca Guidi] New validation syntax
- [Luca Guidi] Removed custom predicates (
Hanami::Validations.predicate
) - [Luca Guidi] Removed global custom predicates (
Hanami::Validations::Predicates
) - [Luca Guidi] Removed messages path setting (
Hanami::Validations.messages_path=
) - [Luca Guidi] Removed messages namespace setting (
Hanami::Validations.namespace
) - [Luca Guidi] Removed messages engine setting (
Hanami::Validations.messages
)
v1.3.7 - 2021-01-06
Fixed
- [Panagiotis Matsinopoulos] Ensure
predicate
andpredicates
to work together
v1.3.6 - 2020-01-08
Added
- [Luca Guidi] Official support for Ruby: MRI 2.7
v1.3.5 - 2019-07-26
Fixed
- [ippachi] Ensure I18n doesn't crash when used for inline predicates
v1.3.4 - 2019-07-26
Fixed
- [Luca Guidi] Ensure to load i18n backend (including
i18n
gem), when messages engine is:i18n
v1.3.3 - 2019-01-31
Fixed
- [Luca Guidi] Depend on
dry-validation
~> 0.11
,< 0.12
- [Luca Guidi] Depend on
dry-logic
~> 0.4.2
,< 0.5
v1.3.2 - 2019-01-30
Fixed
- [Luca Guidi] Depend on
dry-validation
~> 0.11.2
,< 0.12
in order to skip non compatibledry-logic
0.5.0
v1.3.1 - 2019-01-18
Added
- [Luca Guidi] Official support for Ruby: MRI 2.6
- [Luca Guidi] Support
bundler
2.0+
v1.3.0 - 2018-10-24
v1.3.0.beta1 - 2018-08-08
Added
- [Luca Guidi] Official support for JRuby 9.2.0.0
v1.2.2 - 2018-06-05
Fixed
- [Luca Guidi] Revert dependency to
dry-validation
to~> 0.11
,< 0.12
v1.2.1 - 2018-06-04
Fixed
- [Luca Guidi] Bump dependency to
dry-validation
to~> 0.12
v1.2.0 - 2018-04-11
v1.2.0.rc2 - 2018-04-06
v1.2.0.rc1 - 2018-03-30
v1.2.0.beta2 - 2018-03-23
v1.2.0.beta1 - 2018-02-28
Added
- [Luca Guidi] Official support for Ruby: MRI 2.5
v1.1.0 - 2017-10-25
v1.1.0.rc1 - 2017-10-16
v1.1.0.beta3 - 2017-10-04
v1.1.0.beta2 - 2017-10-03
v1.1.0.beta1 - 2017-08-11
v1.0.0 - 2017-04-06
v1.0.0.rc1 - 2017-03-31
v1.0.0.beta2 - 2017-03-17
v1.0.0.beta1 - 2017-02-14
Added
- [Luca Guidi] Official support for Ruby: MRI 2.4
Fixed
- [Luca Guidi] Don't let inline predicates to discard other YAML error messages
v0.7.1 - 2016-11-18
Fixed
- [Luca Guidi] Ensure custom validators to work with concrete classes with name
v0.7.0 - 2016-11-15
Changed
- [Luca Guidi] Official support for Ruby: MRI 2.3+ and JRuby 9.1.5.0+
v0.6.0 - 2016-07-22
Added
- [Luca Guidi] Predicates syntax
- [Luca Guidi] Custom predicates
- [Luca Guidi] Inline predicates
- [Luca Guidi] Shared predicates
- [Luca Guidi] High level rules
- [Luca Guidi] Error messages with I18n support (
i18n
gem) - [Luca Guidi] Introduced
Hanami::Validations#validate
, which returns a result object. - [Luca Guidi] Introduced
Hanami::Validations::Form
mixin, which must be used when input comes from HTTP params or web forms.
Fixed
– [Luca Guidi] Ensure to threat blank values as nil
Changed
– [Luca Guidi] Drop support for Ruby 2.0, 2.1 and Rubinius. Official support for JRuby 9.0.5.0+.
- [Luca Guidi] Validations must be wrapped in
.validations
block. - [Luca Guidi] Removed
.attribute
DSL. A validator doesn't create accessors (getters/setters) for validated keys. - [Luca Guidi] Removed
Hanami::Validations#valid?
in favor of#validate
. - [Luca Guidi] Error messages are accessible via result object. Eg.
result.errors
orresult.errors(full: true)
- [Luca Guidi] Coerced and sanitized data is accessible via result object. Eg.
result.output
v0.5.0 - 2016-01-22
Changed
- [Luca Guidi] Renamed the project
v0.4.0 - 2016-01-12
Changed
- [Hélio Costa e Silva & Luca Guidi] Ignore blank values for format and size validation
Fixed
- [Pascal Betz] Ensure acceptance validation to reject blank strings
v0.3.3 - 2015-09-30
Added
- [Luca Guidi] Official support for JRuby 9k+
v0.3.2 - 2015-05-22
Added
- [deepj] Introduced
Lotus::Validations#invalid?
v0.3.1 - 2015-05-15
Fixed
- [Luca Guidi] Fixed Hash serialization for nested validations. It always return nested
::Hash
structure. - [Alfonso Uceda Pompa & Dmitry Tymchuk] Fixed Hash serialization when
Lotus::Entity
is included in the same class.
v0.3.0 - 2015-03-23
v0.2.4 - 2015-01-30
Added
- [Steve Hodgkiss] Introduced
Lotus::Validations::Error#attribute_name
- [Steve Hodgkiss] Nested validations
Changed
- [Steve Hodgkiss]
Lotus::Validations::Error#name
returns the complete attribute name (Eg.first_name
oraddress.street
)
v0.2.3 - 2015-01-12
Added
- [Luca Guidi] Compatibility with Lotus::Entity
Fixed
- [Luca Guidi] Ensure
.validates
usage to not raiseArgumentError
when:type
option is passed - [Luca Guidi] Ensure to assign attributes when only
.validates
is used
v0.2.2 - 2015-01-08
Added
- [Steve Hodgkiss] Introduced
Validations.validates
. It defines validations, for already existing attributes.
v0.2.1 - 2014-12-23
Added
- [Luca Guidi] Introduced
Validations::Errors#to_h
andto_a
- [Luca Guidi] Introduced
Validations::Errors#any?
- [Luca Guidi] Official support for Ruby 2.2
Fixed
- [Satoshi Amemiya] Made
Validations#valid?
idempotent
v0.2.0 - 2014-11-23
Added
- [Luca Guidi] Skip attribute whitelisting when a validator does not define any attribute
- [Luca Guidi] Official support for Rubinius 2.3+
- [Luca Guidi] Implemented
#each
in order to allow bulk operations on attributes - [Luca Guidi] Implemented
#to_h
to make validations usable by other libraries - [Luca Guidi] Made
#initialize
to accept Hashes with strings as keys, but only for declared attributes - [Luca Guidi] Lazy coercions, from now on
valid?
is not required to obtain a coerced value from a single attribute - [Rik Tonnard] Made validators reusable by allowing infinite inclusion
v0.1.0 - 2014-10-23
Added
- [Luca Guidi] Made
#initialize
to accept any object that implements#to_h
- [Luca Guidi] Custom coercions for user defined classes
- [Luca Guidi] Raise an exception at the load time when a validation is not recognized
- [Luca Guidi] Allow validators inheritance
- [Luca Guidi] Confirmation validation
- [Luca Guidi] Exclusion validation
- [Luca Guidi] Size validation
- [Luca Guidi] Acceptance validation
- [Jeremy Stephens] Inclusion validation
- [Luca Guidi] Format validation
- [Luca Guidi] Presence validation
- [Luca Guidi] Coercions
- [Luca Guidi] Basic module inclusion
- [Luca Guidi] Official support for JRuby 1.7+ (with 2.0 mode)
- [Luca Guidi] Official support for MRI 2.0+
Fixed
- [Jeremy Stephens] Ensure to not fail validations when coerce falsey values
- [Luca Guidi] Ensure
Lotus::Validations#valid?
to be idempotent