inputDirective AngularJS


Exemple

Un champ de saisie avec data-binding :

<input ng-model="myInput">

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

Définition et utilisation

AngularJS modifie le comportement par défaut des <input>éléments, mais uniquement si l' ng-modelattribut est présent.

Ils fournissent une liaison de données, ce qui signifie qu'ils font partie du modèle AngularJS et peuvent être référencés et mis à jour, à la fois dans les fonctions AngularJS et dans le DOM.

Ils assurent la validation. Exemple : un <input>élément avec un requiredattribut, a l' $validétat défini sur falsetant qu'il est vide.

Ils assurent également le contrôle de l'État. AngularJS contient l'état actuel de tous les éléments d'entrée.

Les champs de saisie ont les états suivants :

  • $untouched Le terrain n'a pas encore été touché
  • $touched Le champ a été touché
  • $pristineLe champ n'a pas encore été modifié
  • $dirty Le champ a été modifié
  • $invalid Le contenu du champ n'est pas valide
  • $valid Le contenu du champ est valide

La valeur de chaque état représente une valeur booléenne et est soit true ou false.


Syntaxe

<input ng-model="name">

Les éléments d'entrée sont référencés à l'aide de la valeur de l' ng-modelattribut.



Classes CSS

<input>les éléments à l'intérieur d'une application AngularJS reçoivent certaines classes . Ces classes peuvent être utilisées pour styliser les éléments d'entrée en fonction de leur état.

Les classes suivantes sont ajoutées :

  • ng-untouched Le terrain n'a pas encore été touché
  • ng-touched Le champ a été touché
  • ng-pristine Le champ n'a pas encore été modifié
  • ng-dirty Le champ a été modifié
  • ng-valid Le contenu du champ est valide
  • ng-invalid Le contenu du champ n'est pas valide
  • ng-valid-keyUne clé pour chaque validation. Exemple : ng-valid-required, utile lorsqu'il y a plus d'une chose qui doit être validée
  • ng-invalid-key Exemple: ng-invalid-required

Les classes sont supprimées si la valeur qu'elles représentent est false.

Exemple

Appliquez des styles pour les éléments d'entrée valides et non valides, en utilisant le CSS standard :

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