Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aula 6 - Submit

Observei que ao submeter o formulário, o AE no título principal quando carregado deixar de aparecer. Existe uma maneira para corrigir isso? Outra dúvida, ao submeter, surge a mensagem de foto incluída com sucesso e logo abaixo os campos com suas validações. Não ficaria mais bonito aparecer somente a mensagem? Como fazer?

1 resposta
solução!

Quando o formulário é submetido, uma objeto foto sem qualquer atributo substitui a foto que estava-lá para limpar o formulário. Se a foto não tem mais título, como a AE conseguirá continuar a mostrar o título? Não vejo sentido ele manter, talvez não tenha entendido a sua pergunta. Se quiser manter, crie outra propriedade em $scope e guarde o título lá.

Sobre o formulário de validação, o termo "melhor" não ajuda muito, tudo depende do que seu cliente quer.

Para você fazer o que está querendo, vai ter que abdicar dos campos de mensagem que estão em seu HTML e que consultam o formulário.

Terá que criar uma propriedade extra em $scope para cada mensagem que erro que houver no seu formulário e usá-lo via AE lá no HTML.

No ato de submeter o formulário, vai ter que consultar$scope.$scope.formulario.$valid. Se for inválido, vai testar cada campo individualmente e perguntar qual está invalido. Encontrado o inválido, adicionará a propriedade com a mensagem de erro deste campo em $scope. Como é você que está populando, simplesmente não popula quando o formulário for submetido e ainda estiver válido.

Resumindo: a maior vantagem do Angular é também sua maior desvantagem. Ele nos ajuda demais no desenvolvimento, nos tornando produtivos. Porém, se você quiser mudá-lo um pouquinho, terá um trabalhinho. Fazendo tudo em JavaScript puro, teríamos muito mais trabalho, mas teríamos o controle fino de todo o código escrito.