Elton,
Há dois pontos de interesse para simular a não-interação do usuário com o formulário no seu foto-controller, como pode ser visto abaixo:
if ($scope.formulario.$valid) {
if ($scope.foto._id) {
$http.put('v1/fotos/' + $scope.foto._id, $scope.foto)
.success(function () {
$scope.foto = {};
$scope.formulario.$setPristine();
$scope.mensagem = "Foto alterada com sucesso";
}).error(function (error) {
$scope.mensagem = "Não foi possível alterar a foto";
});
} else {
$http.post('v1/fotos', $scope.foto)
.success(function () {
$scope.foto = {};
$scope.formulario.$setPristine();
$scope.mensagem = "Foto cadastrada com sucesso";
}).error(function (error) {
$scope.mensagem = "Não foi possível cadastrar a foto";
});
}
}
Isso irá remover aquelas mensagens de erro que informam o preenchimento obrigatório após você já ter submetido uma nova foto ou alteração.
O importante é saber o que está fazendo, qualquer coisa me chame que vejo se posso ajudar!