diff --git a/src/Illuminate/Validation/Rules/Can.php b/src/Illuminate/Validation/Rules/Can.php index 6732bc2f6c9f..a86ad90ce5d9 100644 --- a/src/Illuminate/Validation/Rules/Can.php +++ b/src/Illuminate/Validation/Rules/Can.php @@ -3,9 +3,10 @@ namespace Illuminate\Validation\Rules; use Illuminate\Contracts\Validation\Rule; +use Illuminate\Contracts\Validation\ValidatorAwareRule; use Illuminate\Support\Facades\Gate; -class Can implements Rule +class Can implements Rule, ValidatorAwareRule { /** * The ability to check. @@ -21,6 +22,13 @@ class Can implements Rule */ protected $arguments; + /** + * The validator performing the validation. + * + * @var \Illuminate\Validation\Validator + */ + protected $validator; + /** * Constructor. * @@ -56,10 +64,23 @@ public function passes($attribute, $value) */ public function message() { - $message = trans('validation.can'); + $message = $this->validator->getTranslator()->get('validation.can'); return $message === 'validation.can' ? ['The :attribute field contains an unauthorized value.'] : $message; } + + /** + * Set the performing validator. + * + * @param \Illuminate\Validation\Validator $validator + * @return $this + */ + public function setValidator($validator) + { + $this->validator = $validator; + + return $this; + } } diff --git a/src/Illuminate/Validation/Rules/Enum.php b/src/Illuminate/Validation/Rules/Enum.php index 37c7d3faae1e..fea188909e72 100644 --- a/src/Illuminate/Validation/Rules/Enum.php +++ b/src/Illuminate/Validation/Rules/Enum.php @@ -3,9 +3,10 @@ namespace Illuminate\Validation\Rules; use Illuminate\Contracts\Validation\Rule; +use Illuminate\Contracts\Validation\ValidatorAwareRule; use TypeError; -class Enum implements Rule +class Enum implements Rule, ValidatorAwareRule { /** * The type of the enum. @@ -14,6 +15,13 @@ class Enum implements Rule */ protected $type; + /** + * The validator performing the validation. + * + * @var \Illuminate\Validation\Validator + */ + protected $validator; + /** * Create a new rule instance. * @@ -56,10 +64,23 @@ public function passes($attribute, $value) */ public function message() { - $message = trans('validation.enum'); + $message = $this->validator->getTranslator()->get('validation.enum'); return $message === 'validation.enum' ? ['The selected :attribute is invalid.'] : $message; } + + /** + * Set the performing validator. + * + * @param \Illuminate\Validation\Validator $validator + * @return $this + */ + public function setValidator($validator) + { + $this->validator = $validator; + + return $this; + } }