mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-08 05:44:32 -04:00
Convest rule to validationrule
This commit is contained in:
parent
3e4cf6f261
commit
a88b4d5d8d
@ -11,32 +11,26 @@
|
|||||||
|
|
||||||
namespace App\Http\ValidationRules\Account;
|
namespace App\Http\ValidationRules\Account;
|
||||||
|
|
||||||
use Illuminate\Contracts\Validation\Rule;
|
use Closure;
|
||||||
|
use Illuminate\Contracts\Validation\ValidationRule;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class EmailBlackListRule.
|
* Class EmailBlackListRule.
|
||||||
*/
|
*/
|
||||||
class EmailBlackListRule implements Rule
|
class EmailBlackListRule implements ValidationRule
|
||||||
{
|
{
|
||||||
public array $blacklist = [
|
public array $blacklist = [
|
||||||
|
'noddy@invoiceninja.com',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $attribute
|
public function validate(string $attribute, mixed $value, Closure $fail): void
|
||||||
* @param mixed $value
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function passes($attribute, $value)
|
|
||||||
{
|
{
|
||||||
return ! in_array($value, $this->blacklist);
|
|
||||||
|
if (in_array($value, $this->blacklist)) {
|
||||||
|
$fail('This email address is blacklisted, if you think this is in error, please email contact@invoiceninja.com');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function message()
|
|
||||||
{
|
|
||||||
return 'This email address is blacklisted, if you think this is in error, please email contact@invoiceninja.com';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,9 @@
|
|||||||
|
|
||||||
namespace Tests\Unit\ValidationRules;
|
namespace Tests\Unit\ValidationRules;
|
||||||
|
|
||||||
use App\Http\ValidationRules\Account\BlackListRule;
|
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
use App\Http\ValidationRules\Account\BlackListRule;
|
||||||
|
use App\Http\ValidationRules\Account\EmailBlackListRule;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
@ -25,6 +26,35 @@ class BlacklistValidationTest extends TestCase
|
|||||||
parent::setUp();
|
parent::setUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testValidEmailRule3()
|
||||||
|
{
|
||||||
|
$rules = [
|
||||||
|
'email' => [new EmailBlackListRule],
|
||||||
|
];
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'email' => 'contact@invoiceninja.com',
|
||||||
|
];
|
||||||
|
|
||||||
|
$v = $this->app['validator']->make($data, $rules);
|
||||||
|
$this->assertTrue($v->passes());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function testValidEmailRule2()
|
||||||
|
{
|
||||||
|
$rules = [
|
||||||
|
'email' => [new EmailBlackListRule],
|
||||||
|
];
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'email' => 'noddy@invoiceninja.com',
|
||||||
|
];
|
||||||
|
|
||||||
|
$v = $this->app['validator']->make($data, $rules);
|
||||||
|
$this->assertFalse($v->passes());
|
||||||
|
}
|
||||||
|
|
||||||
public function testValidEmailRule()
|
public function testValidEmailRule()
|
||||||
{
|
{
|
||||||
$rules = [
|
$rules = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user