Skip to content

Releases: Respect/Validation

1.1.15

02 Jan 21:51
ee9e697
Compare
Choose a tag to compare
  • Fix "Domain" rule by allowing domains that contain -- (#345)
  • Fix how templates are set by allowing to set templates by its key (#739)
  • Fix dependency errors by removing malkusch/bav (#885)

1.0.20

02 Jan 21:46
c931e25
Compare
Choose a tag to compare
  • Fix "Domain" rule by allowing domains that contain -- (#345)
  • Fix how templates are set by allowing to set templates by its key (#739)
  • Fix dependency errors by removing malkusch/bav (#885)

First release of 1.1 series

24 Apr 23:45
Compare
Choose a tag to compare

The Respect development team announces the immediate availability of
Respect\Validation 1.1.0.

This version is going to be supported until 2018-08-24.

This release adds 6 new rules, some improvements and some bug fixes.

Another version of this file is available with the source on the
CHANGELOG.md file.

New rules

  • Fibonacci
  • IdentityCard
  • Image
  • LanguageCode
  • Pesel
  • PhpLabel

Improvements

  • Allow the define brands for credit card validation
  • Define names for the child of Not rule
  • Ensure namespace separator on appended prefixes
  • Length gets length of integers
  • Set template for the only rule in the chain
  • Throw an exception when age is not an integer
  • Use "{less/greater} than or equal to" phrasing

First major release

24 Oct 03:42
Compare
Choose a tag to compare

The Respect development team announces the immediate availability of
Respect\Validation 1.0.0.

This version is going to be supported until 2017-02-24.

This release adds 26 new rules, add some features (specially on exceptions),
removes existing features, and fixes some bugs.

Another version of this file is available with the source on the
CHANGELOG.md file.

We would like to thanks to the PHPSP community for all the support on the
first TestFest Respect\Validation, that brings us 51 commits, 135 created
integration tests, 12 improved unit tests, 2 bugs found, 4 new rules and 1
improved rule: you guys are awesome!

New rules

  • BoolVal;
  • Bsn;
  • CallableType;
  • Countable;
  • CurrencyCode;
  • Extension;
  • Factor;
  • Finite;
  • FloatType;
  • Identical;
  • Imei;
  • Infinite;
  • IntType;
  • Iterable;
  • KeyNested;
  • KeySet;
  • KeyValue;
  • Mimetype;
  • NotBlank;
  • NotOptional;
  • Optional;
  • ResourceType;
  • ScalarVal;
  • Size;
  • SubdivisionCode (252 countries);
  • VideoUrl.

New features

The main new features are related to the exceptions:

  • Nested messages are now displayed on a Markdown list format;
  • Does not display parent message if the rule has only one child;
  • Creates method getMessages() for nested exceptions
    (NestedValidationException);
  • Converts Array to string;
  • Converts Exception to string;
  • Converts Traversable to string;
  • Converts resources to string;
  • Improves Object conversion to string;
  • Improves conversion of all values by using JSON.

But also there are a few improvements for some rules:

  • Adds alpha-3 and numeric formats for CountryCode rule
  • Adds {{countryCode}} to the message of PostalCode exception rule
  • Adds generic top-level domains

Bug fixes

  • Nested exceptions with missing keys did not display the proper message
  • AbstractRelated (Attribute, Call and Key rules) defines names for
    children rules
  • True and False rules (now TrueVal and FalseVal) had an awkward
    behavior, now they use filter_var() with FILTER_VALIDATE_BOOLEAN to
    validate their inputs

PHP support

  • Drops support for PHP 5.3
  • Adds support for PHP 7

Backwards Compatibility Breaks

The main change of this version it that, despite what happens since version
0.6, now all rules are mandatory, so they do not accept an empty string
('') as valid value, and because of this you don't need to add NotEmpty
to every chain you want as mandatory. That change was only made after many
opened bugs reporting problems on this feature and since this feature cannot
work property with the code-base we have without an ugly hard-coded workaround.

Plus, there were lots of people complaining about what should be optional or
not, and many of them consider null as an optional value too.

However, you're still able work with optional values (that now are an empty
string '' and null) by using the Optional rule:

v::optional(v::intType())->validate(''); // true
v::optional(v::intType())->validate(null); // true

Also, there is the NotOptional rule that may be very useful for you when
dealing with non-optional values.

Some rule needed to be renamed to be compatible with PHP 7:

  • Bool to BoolType
  • False to FalseVal
  • Float to FloatVal
  • Int to IntVal
  • String to StringType
  • True to TrueVal

Then, to keep consistency, other rules got renamed as well:

  • Arr to ArrayVal
  • NullValue to NullType
  • Object to ObjectType

The old Arr rule, now ArrayVal, got splitted into 4 rules:

  • ArrayVal: validates if the input is an array or if the input can be used as
    an array;
  • ArrayType: validates whether the type of the input is array;
  • Countable: validates if the input is countable, in other words, if you're
    able to use count() function on it;
  • Iterable: validates if the input is iterable, in other words, if you're
    able to iterate over it with foreach language
    construct.

The Equals rule got splitted into 2 rules:

  • Equals: validates if the input is equal to some value, with not longer
    supports the second argument on its constructor for identical checking;
  • Identical: Validates if the input is identical to some value.

Rules that validate intervals are now inclusive, by default:

  • Between
  • Max
  • Min

Some exception classes had the Abstract prefix, but they were not really
abstract, then they got renamed:

  • AbstractGroupedException to GroupedValidationException
  • AbstractNestedException to NestedValidationException

Some exception interfaces were not really necessary, then they got removed:

  • NestedValidationExceptionInterface:
    On try/catch blocks you can simply use NestedValidationException instead
  • ValidationExceptionInterface:
    On try/catch blocks you can simply use ValidationException instead

All deprecated rules were removed:

  • Consonants in favor of Consonant;
  • Digits: in favor of Digit
  • Hexa in favor of Xdigits;
  • Vowels: in favor of Vowel

Also, all shortcuts were removed:

  • addOr() shortcut
  • not() shortcut

First release of 0.9 series

24 Apr 23:01
Compare
Choose a tag to compare

New rules

Other changes

  • #274: Better place for documentations
  • #318: Simplified if/else conditions
  • #341: Create "AbstractSearcher" class

Fix wrong behavior on AbstractRelated class

20 Feb 12:42
Compare
Choose a tag to compare

Fix wrong behavior on AbstractRelated class

20 Feb 12:43
Compare
Choose a tag to compare

AbstractRelated is accepts '' as valid by default

20 Feb 12:44
Compare
Choose a tag to compare

AbstractRelated is accepts '' as valid by default

20 Feb 12:45
Compare
Choose a tag to compare

First release of 0.8 series

11 Feb 15:04
Compare
Choose a tag to compare

New rules

Updated rules

Other changes