AngularJS を使用してフォームを検証しようとしています。これは私のフォームです:
<form ng-controller="LoginCtrl" role="form" class="form-horizontal">
<div class="form-group">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input required type="email" name="email" ng-model="email" class="form-control" ng-class="{ error: email.$invalid }" id="email">
</div>
</div>
</form>
ng-class は適用されません。email.$valid、email.$invalid、email.$error を試しました。コントローラーはコンソールへのログ記録以外は何もしないので、呼び出されていることがわかります。ハードコードを設定$scope.email = 'asd@asd.com'
すると、正しく設定されます。
値を入力しないか無効な文字列を入力すると、ng-class が適用されないのはなぜですか?