![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mcoil.corals.io/vendor/laravel/framework/src/Illuminate/Validation/Rules/ |
<?php namespace Illuminate\Validation\Rules; use Illuminate\Contracts\Validation\Rule; use Illuminate\Contracts\Validation\ValidatorAwareRule; use Illuminate\Support\Facades\Gate; class Can implements Rule, ValidatorAwareRule { /** * The ability to check. * * @var string */ protected $ability; /** * The arguments to pass to the authorization check. * * @var array */ protected $arguments; /** * The current validator instance. * * @var \Illuminate\Validation\Validator */ protected $validator; /** * Constructor. * * @param string $ability * @param array $arguments */ public function __construct($ability, array $arguments = []) { $this->ability = $ability; $this->arguments = $arguments; } /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { $arguments = $this->arguments; $model = array_shift($arguments); return Gate::allows($this->ability, array_filter([$model, ...$arguments, $value])); } /** * Get the validation error message. * * @return array */ public function message() { $message = $this->validator->getTranslator()->get('validation.can'); return $message === 'validation.can' ? ['The :attribute field contains an unauthorized value.'] : $message; } /** * Set the current validator. * * @param \Illuminate\Validation\Validator $validator * @return $this */ public function setValidator($validator) { $this->validator = $validator; return $this; } }