7
respostas

$setPristine()

Pessoal, não entendi essa. O comentário do instrutor informa o seguinte:

Veja que ao limparmos o formulário, automaticamente nossa validação é disparada. Contudo, se você quiser que isso não acontece, logo depois de limpar o formulário faça:

$scope.formulario.$setPristine();

Em qual arquivo isto deve ser feito?

7 respostas

$pristine: Indica se o usuário ainda não interagiu com o formulário/campo.

Elton, consegue colocar um exemplo do que esta tentando fazer... obrigado

Luis, o trecho acima aparece no "Comentário do instrutor" em um exercício com Angular.

Porém, esta parte não aparece no vídeo da aula, o que causou a confusão.

Na verdade eu não entendi exatamente o que ele pretende fazer com este comando e em qual arquivo ele deve ser adicionado!

o professor diz que o logo que o formulário é limpo, a validação é disparada, dai ele já deu uma solução que seria colocar o : $scope.formulario.$setPristine();

foi um plus que ele quis passar, realmente não esta na vídeo aula

Luis, você sabe em qual dos arquivos deve ser colocada esta solução plus?

Elton, em qual aula esta isso para eu dar uma olhada?

Ex: Aula 09

Luis,

Está em https://cursos.alura.com.br/course/angularjs-mvc/task/23305, no final da Opinião do instrutor.

Obrigado.

Elton,

desculpe a demora da resposta

me parece que é aqui...

$scope.submeter = function() {

            if ($scope.formulario.$valid) {
                cadastroDeFotos.cadastrar($scope.foto)
                .then(function(dados) {
                    $scope.mensagem = dados.mensagem;
                    if (dados.inclusao) $scope.foto = {};
                    //linha para limpar setar o formulario pristine
                    $scope.formulario.$setPristine();
                })
                .catch(function(erro) {
                    $scope.mensagem = erro.mensagem;
                });
            }
        };