Cześć, chcę uzyskać prawidłowy lub nieprawidłowy stan wszystkich formularzy poza tagiem formularza, tj. Przypuśćmy, że jeśli którykolwiek z formularzy nie jest prawidłowy, powinien zostać wyświetlony komunikat o błędzie. myform. $invalid
nie działa dla wszystkich formularzy i nie jest aktualizowany
<div ng-repeat="a in [0,1,2,3,4]">
<form name="myForm">
<input type="text">
</form>
</div>
<div ng-if="myform.$invalid">Fill all fields</div>
1
sam
20 listopad 2019, 08:31
2 odpowiedzi
Jak rozumiem, walidacja kątowa nie działa poprawnie z tą samą nazwą formularza na tej samej stronie.
Angular weźmie pod uwagę tylko ostatnią nazwę formularza
Np .:
<form name="myForm">
<input name="myInput" ng-model="myInput" required>
</form>
<form name="myForm">
<input type="email" name="myInpu" ng-model="myInpu">
</form>
<p>The input's valid state is:</p>
<h1>Form 1 : {{myForm.myInput.$valid}}</h1>
<h1>Form 2 : {{myForm.myInpu.$valid}}</h1>
0
Vimal
20 listopad 2019, 08:45
Lepiej mieć wszystkie elementy <input>
w tym samym formularzu:
<form name="myForm">
<div ng-repeat="a in [0,1,2,3,4]">
<input type="text" name="myInput{{a}}" ng-model="itemArr[$index]" required />
</div>
</form>
<div ng-show="myForm.$invalid">Fill all fields</div>
$scope.itemArr = [];
Ważne jest również, aby każdy element <input>
miał dyrektywę ng-model
.
Więcej informacji znajdziesz w
2
georgeawg
20 listopad 2019, 09:34