2017-10-05 22 views
0

現在私はれるonkeypress検証を以下のためであるapp.js、中の2つのディレクティブを有する一の指令はのみ数値を検証することであり、他のディレクティブはのみ文字[A-Z]を検証します。角度1.6の入力テキストのディレクティブを変更するにはどうすればよいですか?

<input type="text" id="txt_siaf" class="form-control" ng-model="siaf" maxlength="10" valid-numeric /> 

私の入力テキストが現在有効な数値ディレクティブを割り当てていることを考えると、私は有効-文字ディレクティブでそれを変更する方法を知っておく必要があります。

私はあなたのサポートに感謝します。

+0

あなたが動的にしようとしていますディレクティブを変更しますか? –

答えて

0

さて私はあなたが追加または削除指示を動的に入力からではなく、あなたのような周囲の他の作品で遊ぶことができますすることができるようには思わない:コントローラに

$scope.validNumericDirective = true; 

とテンプレートで:

<input type="text" id="txt_siaf" ng-if="validNumericDirective" class="form-control" ng-model="siaf" maxlength="10" valid-numeric /> 
<input type="text" id="txt_siaf" ng-if="!validNumericDirective" class="form-control" ng-model="siaf" maxlength="10" valid-letters /> 

このロジックはこのトリックを行いますが、コントローラのvalidNumericDirectiveを任意のイベントでトグルする必要があります。

更新: ありますが、動的ディレクティブを追加または削除することができる方法があるが、それは長いプロセスの参照を持っています

Angularjs dynamically adding and removing elements using directive

https://www.codeproject.com/Tips/1038684/AngularJs-Add-Remove-Directives-Dynamically-Save-D

2
**You change the value of variable $scope.showNumericDirective dynamically.** 

Add in template 
    <input type="text" ng-if="showNumericDirective" id="txt_siaf" class="form-control" ng-model="siaf" valid-numeric /> 
    <input type="text" ng-if="!showNumericDirective" id="txt_siaf" class="form-control" ng-model="siaf" valid-letters /> 

    var myapp = angular.module("myapp", []); 

    myapp.controller('controllerName', function($scope) 
    { 
    $scope.showNumericDirective = true; 
    }); 
    myapp.directive('validNumeric', function() { 

    }); 
    myapp.directive('validLetters', function() { 

    }); 
+0

感謝tushar、それは私のために働いています –

関連する問題