Skip to content

[5.4] Allow Validator extension to use array-style callable#18399

Merged
taylorotwell merged 2 commits into
laravel:5.4from
adamthehutt:5.4
Mar 19, 2017
Merged

[5.4] Allow Validator extension to use array-style callable#18399
taylorotwell merged 2 commits into
laravel:5.4from
adamthehutt:5.4

Conversation

@adamthehutt

Copy link
Copy Markdown
Contributor

Currently, a validator extension can be either a Closure or a string denoting a class and method. For complex validation scenarios, however, it's useful to be able to pass an object and method in the array-style callable format (i.e. [$object, $method] instead of "$class@$method").

Currently, a validator extension can be either a Closure or a string denoting a class and method. For complex validation scenarios, however, it's useful to be able to pass an object and method in the array-style callable format (i.e. [$object, $method] instead of "$class@$method").
Comment thread src/Illuminate/Validation/Validator.php Outdated
$callback = $this->extensions[$rule];

if ($callback instanceof Closure) {
if ($callback instanceof Closure || is_array($callback)) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe you can change this line into something like this: if (is_callable($callback)) {. And it will achieve the same result.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I'll update the pull request.

@adamthehutt adamthehutt changed the title Allow Validator extension to use array-style callable [5.4] Allow Validator extension to use array-style callable Mar 18, 2017
@taylorotwell taylorotwell merged commit ab37f22 into laravel:5.4 Mar 19, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants