2016-03-25 10 views
1

私はformですが、すべてのフィールドが有効になるまで送信ボタンを無効にしたいと思います。サンプルについて:angularjs 1.4が有効でないと妥当性確認を送信します

<div>registerForm is {{registerForm.$valid}}</div> 

そして、ボタンは常に無効にとどまる:

<form ng-submit="registerForm.$valid && register()" novalidate> 
    <div class="input-group"> 
    <input type="email" class="form-control" class="ng-pristine ng-invalid" placeholder="Email" ng-model="user.email" required> 
    </div> 
    <div class="input-group"> 
    <input type="text" class="form-control" class="ng-pristine ng-invalid" placeholder="Username" ng-model="user.username" required> 
    </div> 
    <div class="input-group"> 
    <input type="password" class="form-control" class="ng-pristine ng-invalid" placeholder="Password" ng-model="user.password" required> 
    </div> 
    <div>registerForm is {{registerForm.$valid}}</div> 
    <input type="submit" class="btn btn-default" value="Register" 
     ng-disabled="!registerForm.$valid" 
     ng-class="{'btn-success': registerForm.$valid}"> 
</form> 

問題は、ライン怒鳴るが値を表示しないため$valid変数は、undefinedであることのようです。どうすれば解決できますか?

答えて

1

フォームに名前を付けてみてください。

<form name="registerForm" ng-submit="registerForm.$valid && register()" novalidate> 
+0

ありがとう –