Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.3] Illuminate\Validation\Rules\Unique bug fix #16948

Merged
merged 6 commits into from
Dec 26, 2016

Conversation

MrAtiebatie
Copy link
Contributor

With the new validation rules since Laravel 5.3 the following validation fails:

Rule::unique('users', 'name')->ignore('Taylor, Otwell', 'name')

When it's parsed in the underneath method in Illuminate\Validation\Validator, comma separated arguments will be seen as a separate column, because of the str_getcsv. This causes an error on line 1520.

protected function parseParameters($rule, $parameter)
{
    if (strtolower($rule) == 'regex') {
        return [$parameter];
    }

    return str_getcsv($parameter);
}

I solved it with the following PR. Perhaps not the most beautiful approach, so let me know what you think.

@taylorotwell
Copy link
Member

Will this still work for boolean arguments or NULL?

@MrAtiebatie
Copy link
Contributor Author

NULL argument, yes, boolean arguments, no. But I'm not sure if it's necessary to check if the database has an unique boolean value? I completed the test some more.

@taylorotwell taylorotwell merged commit 45d8718 into laravel:5.3 Dec 26, 2016
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.

2 participants