Problème d'affichage de messages d'erreurs

Fermé
Streamooc Messages postés 79 Date d'inscription samedi 17 juin 2017 Statut Membre Dernière intervention 8 février 2023 - Modifié le 5 sept. 2018 à 09:16
 backnight - 19 sept. 2018 à 01:58
Bonjour.Je réalise un formulaire d'inscription.Je dois afficher des messages d'erreurs lorsque l'utilisateur n'a rien saisi et qu'il valide en cliquant sur le bouton Save.Mon problème c'est que l'erreur n'est pas affichée sous le champ 'nom' lorsque l'utilisateur n'a rien saisi dans ce champ et qu'il valide.J'ai besoin d'aides s'il vous plaît.Voici mon code angularJS et mon fichier html
//Js
var myApp=angular.module("myApp",[]);
myApp.controller("inscriptionController",function($scope,$http){
 $scope.etudiant={};
 $scope.errors=null;
 
 $scope.saveEtudiant=function(){
  $http.post("etudiants",$scope.etudiant)
  .then(function onSuccess(data) {
   if(!data.errors){
       $scope.etudiant=data;
       $scope.errors=null;
   }
   else {
    $scope.errors=data;
    $scope.etudiant=null;
   }
   
      
   
  });
 };
 
});

/////html
<html>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
</head>
<body ng-app="myApp" ng-controller="inscriptionController">
  
   <form>
            <div class="form-group">
               <label class="control-label">Nom:</label>
               <input class="form-control" type="text" ng-model="etudiant.nom" />
               <span ng-if="errors" class="bg-danger">{{errors.nom}}</span>
            </div>
          
            <div>
                 <button class="btn btn-primary" ng-click="saveEtudiant()">Save</button>
            </div>
   </form>
    
   <script type="text/javascript" src="js/angular.min.js"></script>
   <script type="text/javascript" src="js/myApp.js"></script> 
</body>


EDIT : Ajout des BALISES DE CODE

.

1 réponse

Salut,
je ne connais pas assez angular pour en parler mais si je me souvient le peut de ce que j'en connait il est fait pour automatiser les données dans l'affichage donc pas vraiment en rapport avec votre question.

Avez vous essayé les nouveaux attributs de balise des input en HTML5, comme required.

https://www.w3schools.com/tags/att_input_required.asp

Il y en a d'autres attributs ou balise qui permettent de restreindre les valeurs renseignées dans les input à des nombres, à des valeurs comprises entre un minimum et un maximum, gérer l'incrémentation via un sélecteur plus ou moins , etc...
Cela résouts quelque soucis de contrôle de formulaire sans avoir à faire le moindre script. Pour le reste regarder du côté des scripts de contrôles des champs de formulaire (via les expressions régulières si nécessaires) et modifier l'affichage en indiquant un message d'erreur où vous le souhaitez via innerHTML par exemple.
0