[5.6] Fix typo of missing underscore in not_regexp rule's name #24297
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Without this fix, properly using "not_regex" rule name in rule arrays will result in error, if using comma in the regexp without quotes, eg.
'field' => 'string|not_regex:/.*, .*/'
The error is:
preg_match(): No ending delimiter '/' found
Illuminate/Validation/Concerns/ValidatesAttributes.php:1233
However, these rules work:
'field' => 'string|regex:/.*, .*/'
'field' => 'string|not_regex:"/.*, .*/"'
It's because function
parseParameters
will try to split the parameter list usingstr_getcsv()
instead of properly returning the whole$parameter
.Since "regex" rule works without quoting the regular expression, but "not_regex" rule doesn't, this behavior is confusing and inconsistent.