[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Roberto Noya
Criador Roberto Noya 09/08/2019

Olá Equipe Especializa TI,

Tenho uma dúvida básica e peço desculpas por isso.

Estou usando Laravel e quando eu recebo as informações de um Form vai para o Controller.

No Controller eu criei Requests que validam as informações de cada campo prenchido. Caso não esteja de acordo com as regras eu redireciono para página anterior e exibo as mensagens de erro.

De acordo com esse cenário, existem campos com formatações como CEP, CNPJ, CPF, Telefone... 

No banco de dados eu salvo as informações sem caracteres especiais. 

Exemplo telefone: 

Dado recebido: (11)1.1111-1111

Dado salvo no banco: 11111111111

Gostaria de saber se devo tratar essas informações no Controller ou no Request ou outro arquivo?

Grato!

Manager Carlos Ferreira 09/08/2019

Olá, Roberto!
Tudo bem?

Não se desculpe, pode perguntar o que quiser e sempre contar comigo.

Você pode fazer esse tratamento dos valores com mutators, veja: https://blog.especializati.com.br/mutators-no-laravel/

Carlos Ferreira
Criador Roberto Noya 09/08/2019

Olá Carlos,

Não conhecia o recurso Mutator. Ótima dica!

Eu li seu artigo e coloquei em prática em meu sistema. Entretanto, notei uma diferença.

O campo em questão chama-se "data_nascimento" do tipo "date" (Y-m-d).

Na Model que chamo de Client testei da seguinte maneira:

protected $dates = [

  'data_nascimento'

];

O sistema deu erro pois notei que ele insere além da data a hora. Assim sendo, alterei o mutator para:

protected $dates = [

  'data_nascimento' => 'Y-m-d'

];

Dessa forma deu certo! Uhu! (Com isso já economizo várias linhas de codigo)

Quero agora aplicar o Mutator para outros campos CPF, CNPJ, Valores decimais...

Existe alguma bliblioteca disso?

Eu vi uma de números decimais giordanolima/decimal-mutators. 

Antes de conhecer o Mutator eu trabalhava com um Helper que contém todas as funções de tratamento, porém me parece equivocado.

Roberto Noya
Criador Roberto Noya 09/08/2019

Ops!

Por favor, descosidere o ultimo post na realidade ainda não está funcionando

Roberto Noya
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!