このような形をして
<div ng-controller="FormController as f_ctrl">
<form ng-submit="f_ctrl.submit()" name="myForm">
<input type="text" ng-model="f_ctrl.user.username"
required
ng-minlength="4"/>
<input type="text" ng-model="f_ctrl.user.password"/>
<input type="submit" value="Submit" ng-disabled="myForm.$invalid">
</form>
</div>
などのコントローラー
.controller('FormController', [function() {
var self = this;
self.submit = function() {
console.log('User submitted form with ' + self.user.username)
}
}]);
問題があります。ページが最初に読み込まれると、何かを入力し始める前であっても、すぐにユーザー名フィールドに赤い境界線が表示されます。最初の送信後にのみ、無効なフィールドを強調表示する必要があります。これを使用して行うことができますform.$invalid
か?