/vendor/laravel/framework/src/Illuminate/Validation/Concerns/ReplacesAttributes.php
https://gitlab.com/madwanz64/laravel · PHP · 508 lines · 171 code · 49 blank · 288 comment · 6 complexity · 25c0956edd2bceb121aa1982490d86d4 MD5 · raw file
- <?php
- namespace Illuminate\Validation\Concerns;
- use Illuminate\Support\Arr;
- trait ReplacesAttributes
- {
- /**
- * Replace all place-holders for the between rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceBetween($message, $attribute, $rule, $parameters)
- {
- return str_replace([':min', ':max'], $parameters, $message);
- }
- /**
- * Replace all place-holders for the date_format rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceDateFormat($message, $attribute, $rule, $parameters)
- {
- return str_replace(':format', $parameters[0], $message);
- }
- /**
- * Replace all place-holders for the different rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceDifferent($message, $attribute, $rule, $parameters)
- {
- return $this->replaceSame($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the digits rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceDigits($message, $attribute, $rule, $parameters)
- {
- return str_replace(':digits', $parameters[0], $message);
- }
- /**
- * Replace all place-holders for the digits (between) rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceDigitsBetween($message, $attribute, $rule, $parameters)
- {
- return $this->replaceBetween($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the min rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceMin($message, $attribute, $rule, $parameters)
- {
- return str_replace(':min', $parameters[0], $message);
- }
- /**
- * Replace all place-holders for the max rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceMax($message, $attribute, $rule, $parameters)
- {
- return str_replace(':max', $parameters[0], $message);
- }
- /**
- * Replace all place-holders for the in rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceIn($message, $attribute, $rule, $parameters)
- {
- foreach ($parameters as &$parameter) {
- $parameter = $this->getDisplayableValue($attribute, $parameter);
- }
- return str_replace(':values', implode(', ', $parameters), $message);
- }
- /**
- * Replace all place-holders for the not_in rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceNotIn($message, $attribute, $rule, $parameters)
- {
- return $this->replaceIn($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the in_array rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceInArray($message, $attribute, $rule, $parameters)
- {
- return str_replace(':other', $this->getDisplayableAttribute($parameters[0]), $message);
- }
- /**
- * Replace all place-holders for the mimetypes rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceMimetypes($message, $attribute, $rule, $parameters)
- {
- return str_replace(':values', implode(', ', $parameters), $message);
- }
- /**
- * Replace all place-holders for the mimes rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceMimes($message, $attribute, $rule, $parameters)
- {
- return str_replace(':values', implode(', ', $parameters), $message);
- }
- /**
- * Replace all place-holders for the required_with rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceRequiredWith($message, $attribute, $rule, $parameters)
- {
- return str_replace(':values', implode(' / ', $this->getAttributeList($parameters)), $message);
- }
- /**
- * Replace all place-holders for the required_with_all rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceRequiredWithAll($message, $attribute, $rule, $parameters)
- {
- return $this->replaceRequiredWith($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the required_without rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceRequiredWithout($message, $attribute, $rule, $parameters)
- {
- return $this->replaceRequiredWith($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the required_without_all rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceRequiredWithoutAll($message, $attribute, $rule, $parameters)
- {
- return $this->replaceRequiredWith($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the size rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceSize($message, $attribute, $rule, $parameters)
- {
- return str_replace(':size', $parameters[0], $message);
- }
- /**
- * Replace all place-holders for the gt rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceGt($message, $attribute, $rule, $parameters)
- {
- if (is_null($value = $this->getValue($parameters[0]))) {
- return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
- }
- return str_replace(':value', $this->getSize($attribute, $value), $message);
- }
- /**
- * Replace all place-holders for the lt rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceLt($message, $attribute, $rule, $parameters)
- {
- if (is_null($value = $this->getValue($parameters[0]))) {
- return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
- }
- return str_replace(':value', $this->getSize($attribute, $value), $message);
- }
- /**
- * Replace all place-holders for the gte rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceGte($message, $attribute, $rule, $parameters)
- {
- if (is_null($value = $this->getValue($parameters[0]))) {
- return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
- }
- return str_replace(':value', $this->getSize($attribute, $value), $message);
- }
- /**
- * Replace all place-holders for the lte rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceLte($message, $attribute, $rule, $parameters)
- {
- if (is_null($value = $this->getValue($parameters[0]))) {
- return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message);
- }
- return str_replace(':value', $this->getSize($attribute, $value), $message);
- }
- /**
- * Replace all place-holders for the required_if rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceRequiredIf($message, $attribute, $rule, $parameters)
- {
- $parameters[1] = $this->getDisplayableValue($parameters[0], Arr::get($this->data, $parameters[0]));
- $parameters[0] = $this->getDisplayableAttribute($parameters[0]);
- return str_replace([':other', ':value'], $parameters, $message);
- }
- /**
- * Replace all place-holders for the required_unless rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceRequiredUnless($message, $attribute, $rule, $parameters)
- {
- $other = $this->getDisplayableAttribute($parameters[0]);
- $values = [];
- foreach (array_slice($parameters, 1) as $value) {
- $values[] = $this->getDisplayableValue($parameters[0], $value);
- }
- return str_replace([':other', ':values'], [$other, implode(', ', $values)], $message);
- }
- /**
- * Replace all place-holders for the same rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceSame($message, $attribute, $rule, $parameters)
- {
- return str_replace(':other', $this->getDisplayableAttribute($parameters[0]), $message);
- }
- /**
- * Replace all place-holders for the before rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceBefore($message, $attribute, $rule, $parameters)
- {
- if (! strtotime($parameters[0])) {
- return str_replace(':date', $this->getDisplayableAttribute($parameters[0]), $message);
- }
- return str_replace(':date', $this->getDisplayableValue($attribute, $parameters[0]), $message);
- }
- /**
- * Replace all place-holders for the before_or_equal rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceBeforeOrEqual($message, $attribute, $rule, $parameters)
- {
- return $this->replaceBefore($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the after rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceAfter($message, $attribute, $rule, $parameters)
- {
- return $this->replaceBefore($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the after_or_equal rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceAfterOrEqual($message, $attribute, $rule, $parameters)
- {
- return $this->replaceBefore($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the date_equals rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceDateEquals($message, $attribute, $rule, $parameters)
- {
- return $this->replaceBefore($message, $attribute, $rule, $parameters);
- }
- /**
- * Replace all place-holders for the dimensions rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceDimensions($message, $attribute, $rule, $parameters)
- {
- $parameters = $this->parseNamedParameters($parameters);
- if (is_array($parameters)) {
- foreach ($parameters as $key => $value) {
- $message = str_replace(':'.$key, $value, $message);
- }
- }
- return $message;
- }
- /**
- * Replace all place-holders for the ends_with rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceEndsWith($message, $attribute, $rule, $parameters)
- {
- foreach ($parameters as &$parameter) {
- $parameter = $this->getDisplayableValue($attribute, $parameter);
- }
- return str_replace(':values', implode(', ', $parameters), $message);
- }
- /**
- * Replace all place-holders for the starts_with rule.
- *
- * @param string $message
- * @param string $attribute
- * @param string $rule
- * @param array $parameters
- * @return string
- */
- protected function replaceStartsWith($message, $attribute, $rule, $parameters)
- {
- foreach ($parameters as &$parameter) {
- $parameter = $this->getDisplayableValue($attribute, $parameter);
- }
- return str_replace(':values', implode(', ', $parameters), $message);
- }
- }