AngularJS: ng-if verificando o valor do modelo, mas o valor do modelo do conjunto de entrada somente se a entrada for $ valida

Aqui está o que eu gostaria de fazer:

Eu tenho um formulário com duas entradas uma é tipo "email" e a outra é tipo "senha".Existe um objeto chamado form no $ scopeAmbas as entradas possuem a diretiva ng-model (ng-model = "form.input_name")Eu quero fazer um ícone aparecer ao lado da entrada apenas se algo for digitado na entradaEsse ícone tem uma ação anexada para limpar a entrada (usando a diretiva angularjs hammer 'ng-tap').Para verificar se a entrada está configurada e fazer o ícone aparecer, eu uso ng-if = "form.input_name.length> 0".A coisa é, o valor do modelo da entrada só é definido se a entrada for $ válida, portanto, para minha entrada de e-mail, o ícone só aparece se o que for digitado na entrada tiver um formato de e-mail válido ([email protected]).

Existe uma maneira de verificar o valor de exibição da entrada no ng-if ou existe uma solução melhor para fazer o ícone aparecer?

Aqui está o código que estou usando (com classes css omitidas):

-HTML:

<form name="form-login">
  <input placeholder="email" type="email" ng-model="form.email" required>
  <i hm-tap="clearContent('email')",ng-if="form.email.length>0">

  <input placeholder="password" type="email" ng-model="form.passwd" required>
  <i hm-tap="clearContent('passwd')",ng-if="form.passwd.length>0">
</form>   

-função para limpar a entrada no coffeescript

$scope.clearContent = (fieldName) ->
      switch fieldName
        when 'passwd' then $scope.form.passwd = ""
        when 'email' then $scope.form.email = "" 

Isso funciona bem para a entrada de senha (desde que não tenha validação). Obrigado pela leitura.

questionAnswers(1)

yourAnswerToTheQuestion