Bom dia! Estou tentando criar uma diretiva que facilite a exibição de um erro quando o formulário não é submetido de forma correta. Pelos testes que fiz, parece que o meu template não funciona da seguinte forma:
<span ng-show="{{formulario}}.$submitted && {{formulario}}.{{campo}}.$error.required" class="alert alert-info form-control">
{{mensagem}}
</span>
Minha diretiva esta assim:
.directive('campoObrigatorio', function() {
var ddo = {};
ddo.restrict = 'E';
ddo.scope = { mensagem: "@", formulario: "@", campo: "@"};
ddo.templateUrl = 'js/directives/campo-obrigatorio.html'
return ddo;
})
E estou usando-a dessa forma:
<campo-obrigatorio mensagem="Esse campo é obrigatorio" formulario="formulario" campo="titulo"></campo-obrigatorio>
Só funciona se eu apenas usar o data-binding na mensagem. Por exemplo:
<span ng-show="formulario.$submitted && formulario.campo.$error.required" class="alert alert-info form-control">
{{mensagem}}
</span>
E alterando todo o resto, para que a única propriedade que eu precise alterar seja a mensagem, mas eu gostaria de alterar as outras duas também.
Poderia me ajudar por favor?
Gosto muito das suas aulas!!
Abraço!