Refactor validation rules to implement the new ValidationRule interface (#249)

This commit is contained in:
Manuel Christlieb
2024-07-03 00:20:07 +02:00
committed by GitHub
parent 11e3b167cc
commit 3d67153912
4 changed files with 35 additions and 61 deletions

View File

@ -2,27 +2,16 @@
namespace App\ValidationRules;
use Illuminate\Contracts\Validation\Rule;
use Closure;
use Illuminate\Contracts\Validation\ValidationRule;
class RestrictedIPAddressesRule implements Rule
class RestrictedIPAddressesRule implements ValidationRule
{
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
public function validate(string $attribute, mixed $value, Closure $fail): void
{
return ! in_array($value, config('core.restricted_ip_addresses'));
}
/**
* @return array|\Illuminate\Contracts\Translation\Translator|string|null
*/
public function message()
{
return __('IP address is restricted.');
if (! in_array($value, config('core.restricted_ip_addresses'))) {
return;
}
$fail('IP address is restricted')->translate();
}
}