anonaddy/app/Rules/NotLocalDomain.php
2019-07-31 11:18:36 +01:00

47 lines
898 B
PHP

<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Str;
class NotLocalDomain implements Rule
{
/**
* Create a new rule instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
$count = collect(config('anonaddy.all_domains'))
->filter(function ($name) use ($value) {
return Str::endsWith(strtolower($value), $name);
})
->count();
return $count === 0;
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'The domain cannot be a local one.';
}
}