2016-04-11 2 views
0

私はangularjsページを持っています。私は、ng-repeatでネストされた入力要素を検証するためにカスタムディレクティブを作成しました。さて、検証は機能しますが、ユーザーが値を変更したときだけでなく、ページの読み込みやページ上で発生する変更(ドロップダウンの選択やボタンのクリックなど)にも対応する必要があります。また、このモジュールのコントローラからのフィルタの値があるかどうかを調べるために、ディレクティブ(または検証)を追加する必要があります。ng-repeatで入れ子になっている入力要素を、変更時だけでなくページロード時にも有効にする

提案がありますか?ここに私の現在のコードは次のとおりです。

.directive('myDirective', function() { 
    return { 
     require: 'ngModel', 
     link: function(scope, element, attr, mCtrl) { 
      function myValidation(value) { 
       mCtrl.$setValidity('charE', false); 
       if (value>1){      
        mCtrl.$setValidity('charE', true); 
       } else { 
        mCtrl.$setValidity('charE', false); 
       } 
       return value; 
      } 
      mCtrl.$parsers.push(myValidation); 
     } 
    }; 
}) 

はここに私の呼び出しです:たぶん

<td align="center"> 
    <form name="myForm"> 
     <!--<input name="myInput" ng-model="myInput" required my-directive>--> 
     <input type="number" name="myInput" ng-model="item.qtyToOrder" ng-model-options="{ updateOn: 'blur' }" ng-change="SavePO(item.qtyToReOrder, item.qtyToOrder, {{$index}})" required my-directive/> 
     <!--<span>test - {{myForm.myInput.$valid}}</span>--> 
    </form> 
</td> 

答えて

0

https://angular.io/docs/ts/latest/api/core/OnInit-interface.htmlがDOMにまっすぐにそれを行うことができました参照してください。従うことが非常に複雑に見えます

<input ng-class="{ 'has-error': item.qtyToOrder<=0 && filter.vendor !='' }" type="number" name="myInput" ng-model="item.qtyToOrder" ng-model-options="{ updateOn: 'blur' }" ng-change="SavePO(item.qtyToReOrder, item.qtyToOrder, {{$index}})" /> 
0

ngOnInit() {}あなたの問題に役立ちます!

+0

。ボタンのクリックやドロップダウンの変更などの他の状況も処理しません。 –

関連する問題