32 lines
667 B
PHP
32 lines
667 B
PHP
<?php
|
|
|
|
namespace App\Rules\Bpa;
|
|
|
|
use App\Enums\Cadastro\SujeitoAtencao\RacaCor;
|
|
use Illuminate\Contracts\Validation\Rule;
|
|
|
|
class EtniaIndigenaIsValid implements Rule
|
|
{
|
|
private $racaCorId;
|
|
|
|
public function __construct($racaCorId)
|
|
{
|
|
$this->racaCorId = $racaCorId;
|
|
}
|
|
|
|
public function passes($attribute, $value)
|
|
{
|
|
return self::isValid($value, $this->racaCorId);
|
|
}
|
|
|
|
public static function isValid($value, $racaCorId)
|
|
{
|
|
return $racaCorId !== RacaCor::INDIGENA || ($racaCorId === RacaCor::INDIGENA && !is_null($value));
|
|
}
|
|
|
|
public function message()
|
|
{
|
|
return 'Nacionalidade inválida.';
|
|
}
|
|
}
|