Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Popup para saber se o usuario digito todas as informaçoes

boa tarde, na aula 06 foi colocado esse popup :

$ionicPopup.alert({
                      title: 'Ops',
                      template: 'Servidor com problemas. tente mais tarde.'
                  }).then(function(){
                      $state.go('app.listagem');
                  })

mas antes existia outro no lugar dele que era esse :

$ionicPopup.alert({
                      title: 'Deu erro',
                      template: 'Campos obrigatórios'
                  });

Como posso fazer para deixar os dois, sendo que um é para quando há problemas para a comunicação com o servidor e o outro é para quando o usuário não digita todas as informações ?

7 respostas

Oi Felipe.

Vc pode deixar a pop-up de validação dos campos antes de chamar o serviço, por exemplo.

Assim cada pop-up tem sua função separada.

Vou colar o código para ver se entendi como pode ficar.

Ficaria desse jeito ?

$scope.finalizarPedido = function(){

        var pedidoFinalizado = {
            params : {
                carro : $scope.carroFinalizado.nome,
                preco : $scope.carroFinalizado.preco,
                nome : $scope.pedido.nome,
                endereco : $scope.pedido.endereco,
                email : $scope.pedido.email
            }
        }

        CarroService.salvarPedido(pedidoFinalizado).then(function(dados){

                $scope.salvarDadosNoBancoDeDados('true');

                $ionicHistory.nextViewOptions({
                    disableBack : true
                })

                $ionicPopup.alert({
                    title: 'Parabens',
                    template: 'Voce acaba de comprar um carro.'
                }).then(function(){
                    $state.go('app.listagem');
                });
        },     function(erro){

                $scope.salvarDadosNoBancoDeDados('false');

                $ionicPopup.alert({
                      title: 'Ops',
                      template: 'Servidor com problemas. tente mais tarde.'
                  }).then(function(){
                      $state.go('app.listagem');
                  });

                  $ionicPopup.alert({
                      title: 'Deu erro',
                      template: 'Campos obrigatórios'
                  });

      });

Desse jeito quando eu rodei esta aparecendo as duas mensagens, é desse jeito que você sugeriu ?

Não Felipe.

Eu falei de um pop-up para o sucesso e outro para o erro. Do jeito que vc colocou, realmente vai aparecer duas vezes.

Deixa um no sucesso e outro no erro.

a validação dos campos para saber se estao todos digitados voce acha melhor colocar apenas nos campos? e quando o usuario clica em salvar pedido ele so ira fazer o que é pedido se os campos estiverem preenchidos? No curso de angularjs1 do Alura ele faz algo parecido que so deixa salvar se os campos estiverem preenchidos, eu sugeri isso pois lembrei do curso.

solução!

Vc pode fazer a validação ao clicar no botão salvar. Isso não tem uma regra, cada um pode fazer da melhor opção para seu problema.

Recomendo tbm fazer a validação no seu backend(é claro que vc não vai conseguir fazer isso no backend que eu disponibilizei, mas se o backend for seu, pode fazer essa verificação lá tbm.