inputDiretiva AngularJS


Exemplo

Um campo de entrada com vinculação de dados:

<input ng-model="myInput">

<p>The value of the input field is:</p>
<h1>{{myInput}}</h1>

Definição e uso

O AngularJS modifica o comportamento padrão dos <input>elementos, mas somente se o ng-modelatributo estiver presente.

Eles fornecem vinculação de dados, o que significa que eles fazem parte do modelo AngularJS e podem ser referenciados e atualizados, tanto em funções AngularJS quanto no DOM.

Eles fornecem validação. Exemplo: um <input>elemento com um requiredatributo, tem o $validestado definido falseenquanto estiver vazio.

Eles também fornecem controle estatal. AngularJS mantém o estado atual de todos os elementos de entrada.

Os campos de entrada têm os seguintes estados:

  • $untouched O campo ainda não foi tocado
  • $touched O campo foi tocado
  • $pristine O campo ainda não foi modificado
  • $dirty O campo foi modificado
  • $invalid O conteúdo do campo não é válido
  • $valid O conteúdo do campo é válido

O valor de cada estado representa um valor booleano e é true ou false.


Sintaxe

<input ng-model="name">

Elementos de entrada estão sendo referenciados usando o valor do ng-modelatributo.



Classes CSS

<input>elementos dentro de um aplicativo AngularJS recebem certas classes . Essas classes podem ser usadas para estilizar elementos de entrada de acordo com seu estado.

As seguintes classes são adicionadas:

  • ng-untouched O campo ainda não foi tocado
  • ng-touched O campo foi tocado
  • ng-pristineO campo ainda não foi modificado
  • ng-dirty O campo foi modificado
  • ng-valid O conteúdo do campo é válido
  • ng-invalid O conteúdo do campo não é válido
  • ng-valid-keyUma chave para cada validação. Exemplo: ng-valid-required, útil quando há mais de uma coisa que deve ser validada
  • ng-invalid-keyExemplo:ng-invalid-required

As classes são removidas se o valor que elas representam for false.

Exemplo

Aplique estilos para elementos de entrada válidos e inválidos, usando CSS padrão:

<style>
input.ng-invalid {
    background-color: pink;
}
input.ng-valid {
    background-color: lightgreen;
}
</style>