SGEProduto · Domínio · Desenvolvimento
Repositório

technical-reference · implemented

Cast — PhoneCast

Cast Eloquent que valida telefones brasileiros com DDD e persiste somente os dígitos.

Responsabilidade

PhoneCast aceita telefone brasileiro fixo ou celular com DDD, com máscara ou somente dígitos. Para a entrada sem máscara, monta o formato esperado por LaravelLegends\PtBrValidator\Rules\CelularComDdd antes de validar. Armazena a forma canônica apenas com dígitos, usando DigitsHelper.

EntradaComportamento
Telefone fixo com DDD, como (55) 9999-9999Aceito e salvo como 5599999999.
Celular com DDD, como (55) 99999-9999Aceito e salvo como 55999999999.
Telefone com DDD sem máscara, como 5599999999 ou 55999999999Aceito e salvo com os mesmos dígitos.
null, string vazia ou espaçosPersiste null.
Telefone sem DDD, com tamanho inválido ou caracteres indevidosLança InvalidArgumentException.
get()Retorna null para null; nos demais casos retorna os dígitos persistidos.

A coluna user_personal_data.phone é varchar(255); o cast define o formato aceito e não impõe limite próprio de tamanho textual.

Testes

tests/Unit/PhoneCastTest.php cobre telefone fixo e celular com e sem máscara, persistência apenas dos dígitos, valor vazio e entradas inválidas.

Relacionamentos