2016-06-29 6 views
2

AngularJSのすべてのフィールドを検証する最適な方法は何ですか?AngularJsのすべてのフィールドでフォームを検証する

フォームには7つのフィールドがあり、すべて必須です。フィールドが有効でない場合、エラーメッセージを表示したり、境界線を変更したりします。

以下のアプローチを使用します。それが正しいかどうか教えてください。明日私は100のフィールドがあればどうなりますか?

if(!($scope.signInForm.email.$valid)){ 
    $scope.emailError = true; 
} 
else { 
    $scope.emailError = false; 
} 
if(!($scope.signInForm.password.$valid)){ 
    $scope.passwordError = true; 
} 
else { 
    $scope.passwordError = false; 
} 
+0

代わりにあなたのビューにngMessagesを使用しないでください。 –

+0

以下の説明を参照してください。http://stackoverflow.com/questions/16939981/trigger-validation-of-all-fields-in-angular-form-submit –

答えて

1

あなたはドキュメントでより多くの情報を参照して、テンプレートでこれを処理することができます https://docs.angularjs.org/guide/forms

ドキュメントから

<form name="myForm" class="css-form" novalidate> 
    <div> 
    <input type="email" name="input" ng-model="email.text" required> 

    <span class="error" ng-show="myForm.input.$error.required"> 
     Required! 
    </span> 
    <span class="error" ng-show="myForm.input.$error.email"> 
     Not valid email! 
    </span> 
    </div> 
    ... 

    <!-- If you want to disable the button until all fields are filled in correctly.--> 
    <button class="btn btn-default" ng-disabled="myForm.$invalid">Login</button> 
</form> 

アレックスはそれがngMessagesに見てもよいでしょう言ったように役に立つ情報をここで見つけることができます:http://blog.thoughtram.io/2015/06/06/ng-messages-revisited.html

関連する問題