2017-12-13 13 views
1

localstorageにデータを保存する前に、ユーザーがすべての入力を満たしているかどうかを検証する必要があります。私はAngularjsに精通していない瞬間まで。 非常にangle ng-repeat入力の妥当性確認

var app = angular.module("myApp", []); 
 
app.controller("myCtrl", function($scope) { 
 
    $scope.d1 = []; 
 
    $scope.d2 = []; 
 
    $scope.data = []; 
 

 
    $scope.append = function() { 
 
    $scope.data.push([]); 
 
    }; 
 

 
    $scope.save = function() { 
 
    for (var i = 0; i < $scope.d1.length; i++) { 
 
     if ($scope.d1[i].length === 0) { 
 
     alert("fill empty fields please"); 
 
     } else { 
 
     localStorage.setItem('Surname', JSON.stringify($scope.d1)); 
 
     } 
 
    } 
 
    for (var j = 0; j < $scope.d2.length; j++) { 
 
     if ($scope.d2[j].length === 0) { 
 
     alert("fill empty fields please"); 
 
     } else { 
 
     localStorage.setItem('Name', JSON.stringify($scope.d2)); 
 
     } 
 
    } 
 
    }; 
 
});
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script> 
 
    <link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 
 
</head> 
 
<body ng-app="myApp" ng-controller="myCtrl"> 
 
    <div class="container"> 
 
    <div class="btn-group"> 
 
     <button ng-click="append()" type="button" class="btn btn-default">append</button> 
 
     <button ng-click="save()" type="button" class="btn btn-default">Save</button> 
 
    </div> 
 
    <table class="table table-bordered"> 
 
     <tr> 
 
     <th>Surname</th> 
 
     <th>Name</th> 
 
     </tr> 
 
     <tr ng-repeat="x in data"> 
 
     <td><input ng-model="d1[$index]" type="text" class="form-control"></td> 
 
     <td><input ng-model="d2[$index]" type="text" class="form-control"></td> 
 
     </tr> 
 
    </table> 
 
    </div> 
 
</body> 
 
</html>

+0

あなたの質問は何ですか? –

答えて

0

入力で要素名を追加し、有効または無効な動作確認気象形式のセーブ行う前に、フィールドmantatory

<form name="myForm" novalidate>  
.......................... 
<td><input ng-model="d1[$index]" type="text" 
    required name="text{{$index}}" class="form-control"></td> 
      <td><input ng-model="d2[$index]" 
    type="text" required name="text{{$index}}"class="form-control"></td> 

........</form> 

を作るために「必要」を使用して感謝任意のヘルプ

$scope.save = function() { 
    if($scope.myForm.$valid){ 
//add code 
}else{ 
//display error message 
} 
} 

フィールドレベルの検証も表示できますhere