現在、ユーザーは指定したいドキュメントの開始ページ番号と終了ページ番号を入力できるフォームがあります。ユーザーは、開始ページと終了ページのさらに多くの行を作成することもできます。私が実行したい検証の1つは、ユーザーが選択したページの総数が、ページ番号を入力するドキュメントの総ページ数と等しいことを計算することです。ページ全体の検証に問題があります。総ページ数がある場合たとえば、 :anglejsの総ページ数に対する入力フィールドの検証方法
<form name="pageForm" ng-submit="submitPageForm(pageForm.$valid)" novalidate>
<div class="form-group col-sm-3" ng-repeat="file in pages.items">
<label for="start">Pages </label>
<input type="number" name="startPage" class="form-control" id="start" ng-model="file.startNumber">
<label for="end"> - </label>
<input type="number" name="endPage" class="form-control" id="end" ng-model="file.endNumber" ng-change="autoStartPageNumber($index)">
</div>
<div class="row">
<label for="totalPage">total: {{totalPage}}</label>
<input type="number" ng-model=totalPage>
</div>
<div class="row">
<div class="col-sm-2">
<a href="#" ng-click="addRow()">Add another document</a>
</div>
</div>
<div class="form-group row">
<div class="col-sm-2">
<button type="submit" class="btn btn-default" ng-disabled="pageForm.$invalid">Done</button>
</div>
</div>
{{result}}
</form>
コントローラ:
$scope.pages = {
items: [{
startNumber: 1,
endNumber: ''
}, {
startNumber: '',
endNumber: ''
}]
};
$scope.totalPage = 10;
$scope.autoStartPageNumber = function(index) {
if (index + 1 < $scope.pages.items.length) {
$scope.pages.items[index + 1].startNumber = $scope.pages.items[index].endNumber + 1;
}
};
$scope.addRow = function() {
$scope.pages.items.push({
startNumber: $scope.pages.items[$scope.pages.items.length - 1].endNumber + 1,
endNumber: ''
});
};
$scope.submitPageForm = function(isValid) {
// check to make sure the form is completely valid
if (isValid) {
$scope.result = 'form is valid!';
} else {
$scope.result = 'form is invalid!';
}
};
EDIT私はで...
HTMLロジックを置くべき場所は本当にわかりません10 ...それからユーザーは、それが有効であるために1 - 5と6 - 10のようなオプションを選択できるようにします。 1から3、4 - 11のようにページの総数がオフの場合は、エラーをスローしたい
うーんまさに私が何をしたいのか...私が設定されているページ数対総ページ数を検証したくない(合計がユーザによって設定されているかどうかまたは私) – jeremy
正確に何をしたいですか?あなたはhttps://jsfiddle.net/60f7v8h4/9/のようなエラーを投げたいですか? – Vivz
私がやりたいことは、開始ページと終了ページを使ってページ数を計算し、それを合計ページと比較し、ユーザーが検証しようとするとエラーをスローすることです – jeremy