All notable changes to this project will be documented in this file, in reverse chronological order by release.
.rs
TLD.DE
domain name to match those published by IDN.#237 adds support for the PSR-7 UploadedFileInterface
to each of the Upload
and UploadFile
validators.
#220 adds image/webp to the list of known image types for the IsImage
validator.
#241 has the Hostname
validator return an invalid result early when an empty
domain segment is detected.
#232 updates the Hostname
validator to allow underscores in subdomains.
#218 fixes a precision issue with the Step
validator.
#202 adds the
ability to use custom constant types in extensions of
Zend\Validator\CreditCard
, fixing an issue where users were unable to add
new brands as they are created.
#203 adds support for the new Russian bank card "Mir".
#204 adds support to the IBAN validator for performing SEPA validation against Croatia and San Marino.
#209 adds
documentation for the Explode
validator.
#195 adds
missing GpsPoint
validator entries to the ValidatorPluginManager
, ensuring
they may be retrieved from it correctly.
#212 updates the
CSRF
validator to automatically mark any non-string values as invalid,
preventing errors such as array to string conversion.
EmailAddress
validator to omit the INTL_IDNA_VARIANT_UTS46
flag to
idn_to_utf8()
if the constant is not defined, fixing an issue on systems
using pre-2012 releases of libicu.#175 adds support for PHP 7.2 (conditionally, as PHP 7.2 is currently in beta1).
#157 adds a new
validator, IsCountable
, which allows validating:
#169 modifies how
the various File
validators check for readable files. Previously, they used
stream_resolve_include_path
, which led to false negative checks when the
files did not exist within an include_path
(which is often the case within a
web application). These now use is_readable()
instead.
#185 updates the zend-session requirement (during development, and in the suggestions) to 2.8+, to ensure compatibility with the upcoming PHP 7.2 release.
#187 updates the
Between
validator to require that both a min
and a max
value are
provided to the constructor, and that both are of the same type (both
integer/float values and/or both string values). This fixes issues that could
previously occur when one or the other was not set, but means an exception
will now be raised during instantiation (versus runtime during isValid()
).
#188 updates the
ConfigProvider
to alias the service name ValidatorManager
to the class
Zend\Validator\ValidatorPluginManager
, and now maps the the latter class to
the ValidatorPluginManagerFactory
. Previously, we mapped the service name
directly to the factory. Usage should not change for anybody at this point.
EmailAddress
validator handles the local part of an address, allowing it to
support unicode.Zend\Validator\File\MimeType
"closes" the open FileInfo handle for the file
being validated, using unset()
instead of finfo_close()
; this resolves a
segfault that occurs on older PHP versions.Zend\Validator\Between
handles two situations: (1) when a non-numeric value
is validated against numeric min/max values, and (2) when a numeric value is
validated against non-numeric min/max values. Previously, these incorrectly
validated as true; now they are marked invalid.CreditCard
validator to allow 19 digit Discover card values, and 13 and 19
digit Visa card values, which are now allowed (see
https://en.wikipedia.org/wiki/Payment_card_number).Hostname
validator to support .hr
(Croatia) IDN domains.Iban
validator to support Belarus.ValidatorPluginManagerFactory
factory initializes the plugin manager instance,
ensuring it is injecting the relevant configuration from the config
service
and thus seeding it with configured validator services. This means
that the validators
configuration will now be honored in non-zend-mvc contexts.%length%
as an optional message variable in StringLength validator"suggest"
clauses in composer.json
, since some dependencies are not always
required, and may lead to runtime failures.ExcludeMimeType
validator, to allow differentiating
validation error messages from the MimeType
validator.Uuid
validator, capable of validating if Versions 1-5 UUIDs are well-formed.Zend\ModuleManager\Feature\ValidatorProviderInterface
to
Zend\Validator\ValidatorProviderInterface
, and updates the Module::init()
to typehint against the new interface instead of the one from
zend-modulemanager. Applications targeting zend-mvc v3 can start updating
their code to implement the new interface, or simply duck-type against it.Hostname
validator.Module::init()
method to properly receive a ModuleManager
instance, and
not expect a ModuleEvent
.ValidatorPluginManagerFactory
, which can be consumed by container-interop /
zend-servicemanager to create and return a ValidatorPluginManager
instance.ConfigProvider
, which maps the service ValidatorManager
to the above
factory.Module
, which does the same as ConfigProvider
, but specifically for
zend-mvc applications. It also provices a specification to
Zend\ModuleManager\Listener\ServiceListener
to allow modules to provide
validator configuration.GpsPoint
validator for validating GPS coordinates.Zend\Validator\Isbn\Isbn10
and Isbn13
; these classes are the
result of an extract class refactoring, and contain the logic specific to
calcualting the checksum for each ISBN style. Zend\Validator\Isbn
now
instantiates the appropriate one and invokes it.Zend\Validator\Db\AbstractDb
to implement Zend\Db\Adapter\AdapterAwareInterface
,
by composing Zend\Db\Adapter\AdapterAwareTrait
.safe_mode
within the MimeType
validator, as safe_mode
became
obsolete starting with PHP 5.4.Float
and Int
validators to their Is*
counterparts.Ip
validator to escape .
characters used as IP delimiters.NOT_GREATER_INCLUSIVE
validation error message.Barcode
validator to cast empty options passed to the constructor to an
empty array, fixing type mismatch errors.Hostname
validator to ensure that IPv6 is detected
correctly.IP
validator when comparing ipv4 addresses to ensure a
literal .
is tested between network segments.StaticValidator
such that they make correct assertions now. In doing so, we
determined that it was possible to pass an indexed array of options, which
could lead to unexpected results, often leading to false positives when
validating. To correct this situation, StaticValidator::execute()
now raises
an InvalidArgumentException
when an indexed array is detected for the
$options
argument.NotEmpty
validator to no longer treat the float 0.0
as an empty value for
purposes of validation.Date
validator to check against DateTimeImmutable
and not
DateTimeInterface
(as PHP has restrictions currently on how the latter can
be used).