40 lines
801 B
PHP
40 lines
801 B
PHP
<?php
|
|
|
|
namespace App\Rules;
|
|
|
|
use Illuminate\Contracts\Validation\Rule;
|
|
|
|
class NomeCompleto implements Rule
|
|
{
|
|
/**
|
|
* Determine if the validation rule passes.
|
|
*
|
|
* @param string $attribute
|
|
* @param mixed $value
|
|
* @return bool
|
|
*/
|
|
public function passes($attribute, $value)
|
|
{
|
|
return self::isValid($value);
|
|
}
|
|
|
|
public static function isValid($value)
|
|
{
|
|
|
|
$chars = "A-ZÁÉÍÓÚÂÊÎÔÛÃÕÄËÏÖÜÇ'";
|
|
$regex = "/^[" . $chars . "]{2,}\s([" . $chars . "]{1,}\s?)*[" . $chars . "]{2,}$/";
|
|
|
|
return !!preg_match($regex, trim($value));
|
|
}
|
|
|
|
/**
|
|
* Get the validation error message.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function message()
|
|
{
|
|
return 'Nome e Sobrenome inválidos.';
|
|
}
|
|
}
|