AngularJS TP 3: Validation des entrées - e
Transcription
AngularJS TP 3: Validation des entrées - e
AngularJS TP 3: Validation des entrées L’objectif de ce TP est d’expliquer comment travailler avec la validation des entrée dans AngularJS. 1 Gestion des entrées dans Angular AngularJS propose des attributs supplémentaires concernant les données d’entrées. Voici une liste d’attributs concernant les entrées en HTML5 : • required. Une erreur de validation apparaı̂tra si la valeur n’est pas saisie. • ngMinlength. Longueur minimale de la donnée en entrée. • ngMaxlength. Longueur maximale de la donnée en entrée. Pour illustration, nous pouvons utiliser required dans une entrée de la manière suivante. <input type="text" id="name" ng-model=’name’ required> Ceci veut dire que ce champs doit être obligatoirement renseigné. 2 Validation des entrées Nous pouvons utiliser la validation d’entrées en HTML5 et les combiner avec AngularJS ngModel dans AngularJS en ajoutant les classes CSS suivantes : • ng-valid • ng-invalid • ng-pristine • ng-dirty Nous pouvons changer ces classes CSS pour valider des entrées. Dans la section suivante, nous construisons une application AngularJS simple avec validation d’entrées. 3 Désactivation de bouton Parfois, quand vous devez remplir un formulaire web, vous devez cocher une CheckBox correspondant par exemple aux conditions d’utilisation pour activer le bouton Submit. Maintenant nous pouvons le faire simplement avec AngularJS. Créez un fichier HTML, appelé disablebutton.html. <!DOCTYPE html> <html ng-app> <head> <title>Disable Button</title> <script src="lib/angular.min.js"></script> </head> <body> <p>Demo disable button. Checked CheckBox to enable button</p> <br> <p><input type="checkbox" ng-model="agree">I agree to the terms & conditions</p> <p> <button type="submit" ng-disabled="!agree">Submit</button> </p> </body> </html> Nous définissons un ng-model="agree" dans l’éléments CheckBox. Pour désactiver un bouton, nous pouvons utiliser ng-disabled dans le champ qui le définit/ Nous passion la valeur depuis CheckBox au bouton Submit avec ng-disabled="!agree". Enregistrez ce code et exécutez le fichier. Cochez la CheckBox pour activer le bouton Submit. 4 Demo Nous allons développer une application AngularJS avec un formulaire de type input avec validation des entrées. Nous devons créer d’abord un contrôleur que nous appellerons inputvalidation.js. Saisissez dans ce fichier le code suivant : var myApp = angular.module(’InputValidation’,[]); myApp.controller(’MyControlller’, [’$scope’, function($scope) { $scope.submitForm = function(isValid) { if (isValid) { alert(’Data was saved’); } }; }]); Nous affichons une alerte si isValide est vrai. La prochaine étape consiste à créer un fichier HTML appelé inputvalidation.html contenant le script suivant : <!DOCTYPE html> <html ng-app="InputValidation"> <head> <title>Demo Input Validation</title> <link rel="stylesheet" href="css/main.css"> <script src="lib/angular.min.js"></script> <script src="controllers/inputvalidation.js"></script> </head> <body ng-controller=’MyControlller’> <form name="form" ng-submit="submitForm(form.$valid)" novalidate class="myform"> <div> <p> <label for="name">Full Name:</label> <input type="text" id="name" ng-model=’name’ required> </p> <p> <label for="email">Email:</label> <input type="email" id="email" ng-model=’email’ required> </p> <p> <button type="submit" ng-disabled="form.$invalid">Submit</button> </p> </div> </form> </body> </html> Nous pouvons voir que ng-submit appelle Form() à l’aide de form.$valid. Si cette dernière est vrai, nous obtenons une alerte. de même nous désactivons le bouton Submit si c’est faux grâce à ng-disabled avec comme paramètre form.$valid. Maintenant, concernant la classe CSS, nous pouvons écrire le script suivant dans un fichier main.css. .myform input.ng-invalid.ng-dirty { background-color: #FA787E; } .myform input.ng-valid.ng-dirty { background-color: #78FA89; } Nous modifions ng-valid.ng-dirty et ng-invalid.ng-dirty pour exprimer si la validation est réussie ou non. enregistrez vos codes et exécutez inputvalidation.html. Remplissez les champs et observez le résultat. Expliquez l’utilité de cette application par rapport à une méthode classique pour obtenir ces fonctionnalités.