Se eu for validar um cep além do regex quero saber se o cep e válido
Bom dia, se eu quiser validar um cep ou um dado que tenho que validar de acordo com uma api de terceiros, por exemplo de eu for validar um cep, quero verificar se o cep realmente existe como devo fazer isso, o que seria melhor ??
Olá, Roger!
Tudo bem?
No backend você até pode usar um regex para validar o formato e etc, semelhante a este exemplo aqui (validação de preço com regex): https://github.com/especializati/larafood/blob/master/app/Http/Requests/StoreUpdateProduct.php
Agora, para validar o CEP mesmo (além dos números, formato e etc), na minha visão fica mais correto validar no frontend, quando o usuário digitar, você consulta em uma API externa neste momento e valida se está ok ou não.
O problema que esse dado está vindo pela rota, são dois ceps de origem e de destino , o formrequest não pega dados da rota.
se por acaso eu for criar uma classe ou um arquivo para validar esses dados?
Qual seria a melhor pratica ?
Esses dados não vem de uma request post?
Ainda sim é possível pegar, com o nome do parâmetro na URL:
// No Form Request
$this->nomeParametro1
$this->nomeParametro2
// Rota
Route::get('url/{nomeParametro1}/sdfsd/{nomeParametro2}', [...]);
Ficou errado amigo, $this->nomeParametroRota é apenas para pegar o valor.
O Form request deve ser usado para validar dados de uma request post
'key' => 'validações'
Exemplo:
'price' => "required|regex:/^\d+(\.\d{1,2})?$/",
---
Se quer validar algo que vem da URL (que é meio estranho, precisaria entender o contexto todo para te ajudar a identificar o melhor cenário, e mais SEGURO), você pode fazer isso diretamente onde for receber os dados (no parâmetro do controller) ou mesmo no Form Request:
'cep1' => ['required', "regex:^[0-9]{5}-[0-9]{3}$"],
'cep2' => ['required', "regex:^[0-9]{5}-[0-9]{3}$"],
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!