1

角度で、私はぼかしのフィールドの値を検証しようとしています。私は顧客のリストを持っています。フィールドのモデル値が私の顧客リストにあるかどうかをチェックしたいと思います。そうでない場合は、妥当性をfalseに設定します。角度の関数としてのカスタム検証

私はng-model-options="{updateOn: 'blur'}が存在することを知っていますが、フィールドは先読みであるため、モデルに基づいて更新する必要があるため、これを使用できません。バリデーションは、ぼかしで何が起こる必要があるかです。

答えがあるように思わ:

  1. はちょうどあなたがディレクティブと同じように、コントローラおよび使用の$ setValidity内の関数としてそれを書きます。 ng-blurを使用して、入力フィールドで関数をトリガーします。

    -しかし、カスタム検証(モデル値がリスト内の値と一致しない場合はフィールドを無効にする)は、指示としてのみ書かれています。関数として書かれたカスタム検証の例はありますか?

  2. ぼかしをトリガーする指示文を作成します。

ただし、これらのいずれかを行う例は見つかりません。

誰かが関数としてカスタム検証の例を持っているのですか、またはフィールドのぼかしだけを更新する指令はありますか?私は、カスタム検証のため、このリンクは非常に役に立ったが、私はまだ機能と指令との差に同じ問題が持って

:を作品マイ先行入力** How to add custom validation to an AngularJS form?

を、私はなって助けを必要としません。ここでUIB-先行入力作業ではなく、付属のカスタム検証

答えて

1

カスタム検証の例ぼかしでトリガ:

angular.module('myApp', []) 
.directive('customValidation', function() { 
    return { 
     require: 'ngModel', 
     link: function(scope, el, attrs, ngModel) { 
      el.bind('blur', function(event) { 
       scope.$apply(function() { 
        ngModel.$setValidity('customValidation', scope.name == 'test'); 
       }); 
      }) 
     } 
    }; 
}); 

Plunk

関連する問題