現在、次の問題に直面しています。
ngModel
Angularディレクティブを使用してフォーム入力を検証したいと思います。
これらを $scope と一緒に使用すると、正常に機能します。
現在、controllerAs構文を使用すると、機能しません。
この問題は十分に文書化されていません。私が見つけることができる唯一のヘルプは、この記事です。
これが私のコードの小さな例です:
テンプレートはmyController を vm として呼び出されます
<form name="vm.signUpForm" ng-submit="vm.signup(vm.user)">
<label for="name">Name</label>
<input type="text"
class="form-control"
id="name"
name="name"
placeholder="Full name"
ng-model="vm.user.name"
ng-minlength="2" required />
<div ng-show="vm.signUpForm.$submitted || vm.signUpForm.name.$touched">
<span ng-show="vm.signUpForm.name.$error.required">Please fill in your name</span>
<span ng-show="vm.signUpForm.name.$error.minlength">A minimum of 2 [...]</span>
</div>
[...]
</form>
$scope
フォームを検証するために使用する必要がありますか? それとも私は何かを逃しましたか?
前もって感謝します!
ソリューション:アンドリュー・グレイ
これを機能させるには、次の行を変更する必要がありました。
<form name="vm.signUpForm" ... >
<!-- To -->
<form name="signUpForm" ...>
<div ng-show="vm.signUpForm.$submitted || vm.signUpForm.name.$touched">
<!-- To -->
<div ng-if="signUpForm.name.$invalid">
<span ng-show="vm.signUpForm.name.$error.required" ... >
<!-- To -->
<span ng-show="signUpForm.name.$error.required" ... >