Commit graph

191 commits

Author SHA1 Message Date
Henrique Moody
2fac861aa1
Do not trigger PHP errors in the "Call" rule
This commit make sure that when the callable is executed by the "Call"
rule and PHP triggers an error, the user does not have to deal with it,
and instead the rule will throw "CallException".

Because of the many changes that were made, it didn't make sense to keep
the class "Call" extending the "AbstractRelated" class.

One thing that is a bit problematic with this rule - and with other
rules as well - is that Validation only knows details of a validation
when it fails, because of that we cannot invert the validations that
passed, meaning that the "Not" rule cannot give the proper response to
a validation that passed. This is a know issue that can only be fixed
is we provide a way for Validation do have more granularity control.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-08-21 01:22:38 +02:00
Henrique Moody
57509520a4
Merge branch '1.1' 2018-08-01 20:22:37 +02:00
Singwai Chan
c5978eb5b0
Create "Subset" rule
Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
2018-07-01 15:08:07 +02:00
Islam Elshobokshy
e70c201691
Make clear that "Alnum" rule accepts whitespaces
Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
2018-07-01 14:27:41 +02:00
Danilo Benevides
f486d521cb
Apply contribution guidelines to "PerfectSquare" rule
Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-23 21:43:02 +02:00
William Espindola
dc3951edf1
Apply contribution guidelines to "Each" rule
Also removed the possibility of validating keys once it's possible to
reach the same behavior by combining this rule with "Call" rule.

Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-23 21:40:39 +02:00
Henrique Moody
2ab1f11c99
Create "Equivalent" rule
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-23 17:38:53 +02:00
William Espindola
0413afc226
Apply contribution guidelines to "Directory" rule
Also consider PHP's "Directory" class as a valid directory.

Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-20 22:34:21 +02:00
William Espindola
a463f8ab2d
Apply contribution guidelines to "CurrencyCode" rule
Also makes the rule case-sensitive since that is how ISO 4217
shows the currency codes.

Co-authored-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-18 20:55:43 +02:00
Emmerson Siqueira
6124176c89
Add support to Countable type for ComparisonHelper
Signed-off-by: Emmerson Siqueira <emmersonsiqueira@gmail.com>
2018-06-18 11:13:16 +02:00
paul karikari
5a326b6c97
Apply contribution guidelines to "Type" rule
Also add integration test for Type rule.

Signed-off-by: Paul Karikari <paulkarikari1@gmail.com>
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-15 22:12:17 +02:00
paul karikari
8573d5f064
Apply contribution guidelines to "Tld"
Also check if input is scalar before validation.

Signed-off-by: Paul Karikari <paulkarikari1@gmail.com>
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-15 22:12:17 +02:00
William Espindola
8bd7428fe1
Apply contribution guidelines to "CreditCard" rule
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-15 22:12:17 +02:00
William Espindola
a79e702173
Apply contribution guidelines to "CountryCode" rule
The "AbstractSearcher" already does most of the job that "CountryCode"
was doing, so using it as parent class made more sense. That also makes
the validation case-sensitive which is not a problem since the standard
ISO 3166-1 in fact enforces an specific case for the country codes.

The documentation about the rule is also updated.

Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-15 18:49:52 +02:00
William Espindola
527553ce99
Apply contribution guidelines to "Cnpj" rule 2018-06-15 17:24:19 +02:00
Henrique Moody
9f15c6b6d8
Update documentation with code that works
Some codes in the documentation were not code that actually works which
can lead to some confusion of how to use Validation.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-12 17:27:06 +02:00
William Espindola
b507d928c1
Apply contribution guidelines to "Cnh" rule
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-11 22:24:28 +02:00
William Espindola
8272f43207
Apply contribution guidelines to "Charset" rule
Also change the constructor of the rule to accept charsets as arguments
instead of being either an array or a string.

Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-11 22:24:28 +02:00
William Espindola
9b4c4ddb4b
Apply contribution guidelines to "Callback" rule
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-11 18:47:28 +02:00
Henrique Moody
1255532501
Apply contribution guidelines to "FilterVar" rule
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-11 18:40:05 +02:00
Henrique Moody
8c41838abe
Apply contribution guidelines to "Url" rule
Also fix a type in the exception message of the "Url" rule.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-11 18:22:09 +02:00
Danilo Benevides
5fc04558d6
Apply contribution guidelines to "Odd" rule
Also does not allow validation of non-numeric values.

Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-06 08:00:58 +02:00
Ismael Elias
c2f6876e4f
Apply contribution guidelines to "Negative" rule
Also does not allow validation of non-numeric values.

Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-06 08:00:58 +02:00
Ismael Elias
72933a718f
Apply contribution guidelines to "Positive" rule
Also does not allow validation of non-numeric values.

Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-05 22:26:58 +02:00
Danilo Benevides
c422dc39e4
Apply contribution guidelines to "FloatVal" rule
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-05 09:24:07 +02:00
Danilo Benevides
b29bdbd111
Apply contribution guidelines to "Lowercase" rule
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-05 09:22:18 +02:00
William Espindola
36be04c520
Apply contribution guidelines to "AlwaysInvalid" rule
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-04 09:12:14 +02:00
William Espindola
49131c87a7
Apply contribution guidelines to "AlwaysValid" rule
Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-04 09:12:11 +02:00
Danilo Benevides
d1932b2e7f
Apply contribution guidelines to "Uppercase" rule
Also make sure that "Uppercase" only accepts strings.

Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-06-02 16:03:11 +02:00
Henrique Moody
df9ae14100
Apply contribution guidelines to "IterableType" rule
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-06-01 14:23:41 +02:00
Henrique Moody
24c2ba8faa
Make "Min" always inclusive
Since the rule "GreaterThan" was created, there is no reason to allow
"Min" to not be inclusive.

Also apply contribution guidelines to the rule.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-31 17:14:23 +02:00
Emmerson Siqueira
9eb159f3d9
Rename "MaximumAge" and "MinimumAge" rules
Those rules were renamed to keep consistent with other rules such as
'Max' and 'Min'.

Signed-off-by: Emmerson Siqueira <emmersonsiqueira@gmail.com>
2018-05-31 17:01:15 +02:00
Emmerson Siqueira
271ddd1fe0
Rename 'Prnt' rule to 'Printable'
This changes the rule name in order to be more descriptive and explicit
(avoid abbreviation). It also applies the new contribution guidelines.

Signed-off-by: Emmerson Siqueira <emmersonsiqueira@gmail.com>
2018-05-31 16:00:43 +02:00
Henrique Moody
6351f7a092
Make "Max" always inclusive
Since the rule "LessThan" was created, there is no reason to allow "Max"
to not be inclusive.

Also apply contribution guidelines to the rule.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-31 15:51:57 +02:00
Henrique Moody
da6abf4bdd
Make "Between" always inclusive
Generally speaking it makes more sense to have it always inclusive. Even
though the word "between" does not imply that it is inclusive or
exclusive it's more natural this way.

Besides, users can always use "GreaterThan" and "LessThan" rules in case
that is necessary.

Removing this boolean parameter reduces a bit of the complexity of the
rule.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-31 15:10:59 +02:00
Henrique Moody
9b20d6dae2
Create "GreaterThan" rule
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-31 14:47:22 +02:00
Henrique Moody
9d0d750a18
Create "LessThan" rule
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-31 14:01:45 +02:00
Emmerson Siqueira
0a031649a8
Apply contribution guidelines to "Attribute" rule
Signed-off-by: Emmerson Siqueira <emmersonsiqueira@gmail.com>
2018-05-31 13:50:36 +02:00
paul karikari
51ec5e1b95
Apply contribution guidelines to "Even" rule
Also add an extra validation to the rule, not allowing non-integers to
be considered as even numbers.

Co-Authored-By: Henrique Moody <henriquemoody@gmail.com>
2018-05-31 08:37:38 +02:00
Henrique Moody
71ecea32e6
Make getMessages() return the names or ids as keys
This method change the behavior of "getMessages()" by changin the keys
of its return to the "id" of the specific exception that was triggered.

It also allows users to overwrite the templates by passing an array to
it.

This is being requested by many users for a long time. It took that long
because I was thinking too much about how to improve the old method
called "findMesssage()" that I didn't realize that it could be done in a
easier way with the "getMessages()".

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-28 08:38:30 +02:00
Henrique Moody
8c529c433e
Refactor ValidationException
Make the ValidationException a little bit less mutable than before. All
its dependencies are now passed into the constructor.

This commit also make the Factory pass the translator to the exceptions
allowing to define the translator before the exception gets created.
This change is not the ideal one, later I would like to not need the
Singleton from the Factory to do that, but for now it seems like a good
approach.

One more thing that this commit does is to introduce the "id" for
Exceptions. Key can be either the defined "name" or the name of the rule
that throwed the exception. This method will be handy to identify
exceptions better.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-27 16:12:05 +02:00
Henrique Moody
d7ebb8c1a7
Remove "Interface" suffix from exceptions
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-27 16:12:05 +02:00
Henrique Moody
64ec329663
Remove findMessages() from NestedValidationException 2018-05-27 16:12:05 +02:00
Henrique Moody
c26db7287f
Use getMessage() instead of getMainMessage()
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-27 16:12:05 +02:00
Henrique Moody
e203f8aec5
Apply contribution guidelines to "ObjectType" rule
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-19 19:12:59 +02:00
Henrique Moody
34d42a0d70
Apply contribution guidelines to "CallableType" rule
Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2018-05-19 17:07:59 +02:00
Henrique Moody
cb4fb83b3e
Revert "Elaborated API styles documentation"
This reverts commit eb2621fafe.
2018-05-19 16:17:57 +02:00
Henrique Moody
c6b6a4c425
Revert "Tested and fixed documentation"
This reverts commit 4357349ff0.
2018-05-19 16:17:47 +02:00
Bram Van der Sype
7b5a2928ff Apply contribution guidelines to "NotEmpty" rule 2018-05-02 16:04:05 +02:00
Antonio
e2677d99d9
Clarify array validation
Clarify more complex array validation with an example in the
documentation.
2018-04-26 16:20:58 +02:00