コード例 #1
0
 public function processaCadastro(Request $request)
 {
     /*
     $messages = [
         'validCpf' => 'CPF inválido.',
         'required' => 'O campo ":attribute" deve ser preenchido.',
         'numeric' => 'O campo ":attribute" deve conter apenas números.',
         'email' => 'Email inválido.',
         'digits' => 'O campo ":attribute" deve ter :digits dígitos.',
         'digits_between' => 'O campo ":attribute" deve ter entre :min e :max dígitos.',
         'max' => [
             'numeric' => 'O campo ":attribute" deve ser de no máximo :max.',
             'file'    => 'O arquivo ":attribute" não pode ser maior do que :max kb.',
             'string'  => 'O campo ":attribute" deve ter no máximo :max caracteres.',
             'array'   => 'O conjunto ":attribute" não pode ter mais do que :max itens.',
         ],
         'regex' => 'Valor inválido para o campo :attribute.',
     ];
     
     $regex = [
         'ddd' => '/^(11|12|13|14|15|16|17|18|19|21|22|24|27|28|31|32|33|34|35|37|38|41|42|43|44|45|46|47|48|49|51|53|54|55|61|62|63|64|65|66|67|68|69|71|73|74|75|77|79|81|82|83|84|85|86|87|88|89|91|92|93|94|95|96|97|98|99)$/m',
         'line' => '/^([9][3-9]{1}[0-9]{3}[0-9]{4})|([2-9]{1}[0-9]{3}[0-9]{4})$/m',
     ];
     
     $rules = [
         'ddd' => ['required', 'numeric', 'digits:2', 'regex:' . $regex['ddd']],
         'linha' => ['required','numeric','digits_between:8,9','regex:' . $regex['line']],
         'cpf' => 'required|numeric|digits:11|validCpf',
         'nome' => 'required|max:150',
         'nascimento' => 'required',
         'email' => 'required|email|max:100',
         'cep' => ['required','numeric','digits:8','regex:/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/'],
         'endereco' => 'required|max:150',
         'bairro' => 'required|max:100',
         'cidade' => 'required|max:50',
         'complemento'=>'max:200',
         'uf' => 'required',
         'numero' => 'required|numeric', 
     ];
     
     $validator = Validator::make($request->all(), $rules, $messages);
     
     if ($validator->fails()) {
         $erros =  $validator->messages()->all();
         $errorMessage = 'Erro ao processar pedido.<br/><ul>';
         foreach ($erros as $erro => $value) $errorMessage .= '<li>' . $value . '</li>';
         $errorMessage .= '</ul>';
         $retorno = ['status' => 0, 'message' => $errorMessage];
         return response()->json($retorno);
     }
     */
     /*
     array:16 [
       "_token" => "cnEBRFJogBdHFQoGKy8VyYkv30N810ppI4IED3wV"
       "cpf" => "128.476.787-60"
       "senha" => "senha123"
       "confirmaSenha" => "senha123"
       "nome" => "Saulo Machado"
       "ddd" => "21"
       "linha" => "33578891"
       "email" => "*****@*****.**"
       "nascimento" => "18/05/1989"
       "cep" => "21740461"
       "endereco" => "Rua Euzebio de Almeida"
       "bairro" => "Jardim Sulacap"
       "cidade" => "Rio de Janeiro"
       "uf" => "RJ"
       "numero" => "181"
       "complemento" => ""
     ]
     */
     //TODO: VALIDAR DADOS NO SERVER SIDE
     //CLIENTE
     $cpf = str_replace(".", "", $_POST['cpf']);
     $cpf = str_replace("-", "", $_POST['cpf']);
     $dtNascimento = $_POST['nascimento'];
     $dtNascimento = explode('/', $dtNascimento);
     $dtNascimento = array_reverse($dtNascimento);
     $dtNascimento = implode("-", $dtNascimento);
     $clientData = ['cpf' => $cpf, 'senha' => $_POST['senha'], 'nome' => $_POST['nome'], 'telefone' => $_POST['ddd'] . $_POST['linha'], 'email' => $_POST['email'], 'dt_nascimento' => $dtNascimento];
     $modelCliente = new Cliente();
     $idCliente = $modelCliente->insert($clientData);
     //ENDEREÇO
     //DETALHES
 }