2つの入力を持つ単純なページを作成しようとしていますが、これは空でないようにrequired
にする必要があります。AngularJSで複数の入力フィールドを要求するにはどうすればよいですか?
ここで(自己完結型)があることを行うためのコードです:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script>
var app = angular.module("myApp", []);
app.controller('myController', ['$scope', function($scope) {
}]);
</script>
<style>
input.ng-invalid {
background-color: pink;
}
input.ng-valid {
background-color: lightgreen;
}
</style>
</head>
<body ng-app="myApp">
<div ng-controller="myController">
Description: *<input type="text" id="input-description" ng-model="req-text" required></input><br/>
Order: *<input type="number" id="input-order" ng-model="req-number" value="100" step="100" required></input><br/>
</div>
</body>
</html>
私はそれを行うだろう期待していた何がテキストフィールドが空白と赤(無効)であることで開始しており、数フィールドは100
ているが緑色(有効)です。
私が最初に試したことは、同じものに入力するためにng-model
を両方とも設定していましたが、数字フィールドが更新されたときにテキストフィールドを更新する原因になりました。
明らかにうまくいきませんでしたので、私のコードに示されているように、入力用に異なるモデルを使用しようとしました。しかし、両方の入力が0
の値(まだ空白でなければならないテキストフィールドであっても)を持ち、両方の入力を入力することも編集することもできません。
私は何を間違っているのですか。また、両方の入力を角で別々にrequired
にするにはどうすればよいですか?
おかげでたくさんのために無視されます! '' ng-model''が何をしているのか、私はむしろ混乱していたようだ。私は、(1)スコープ内の変数になること、(2)この変数が入力の値になることを認識していませんでした。私はモデルがまったく別のものだと思った。 – Jashaszun
'ngInit'ディレクティブは、docsのhttps://docs.angularjs.org/api/ng/directive/ngInitのように、この場合は使用しないでください。この場合、**コントローラ**で値を開始してください。 – developer033
@ developer033、それは私が通常やっていることです。しかし質問に非常に単純なコードとコントローラが含まれていたので、私は 'ng-init'を提案しました。あなたの発言を私の答えに反映させます –