3

ngTagsInput を使用して受信者リストを実装しています。インライン検証メッセージを表示するには、「on-invalid-tag」プロパティを追加します。問題は、ユーザーがメッセージを表示した後にメッセージを非表示にし、何かを削除または追加して間違った入力を修正し始める必要があるということです。

デフォルトのスタイルでは、新しい入力が無効な場合、ユーザーが新しいタグを作成しようとすると赤で出力されます。しかし、バックスペースを押すか、任意の文字を入力すると、色が通常に変わります。その動作は、検証メッセージに必要なものです。ng-tags-input.js で newTag.invalid を使用して赤いテキスト バインディングと共に表示および非表示にする必要があります。

しかし、そのようなイベントや機能はないようです。そして、ng-change を使用して入力の変更イベントをキャッチしようとしましたが、うまくいきません。そうする方法はありますか?

これがコードです。

<tags-input ng-model="recps" 
        display-property="recipient"
        replace-spaces-with-dashes="false" 
        on-tag-removing="removeRecipient($tag)"
        allowed-tags-pattern="^[A-Za-z0-9]+([-_.][A-Za-z0-9]+)*@[A-Za-z0-9]+([-_.][A-Za-z0-9]+)*.[A-Za-z]{2,5}$"
        on-invalid-tag="invalidTagInput($tag)"
        ng-focus="validData.validRecipients=true;">
</tags-input>
<div class="email-address box" ng-show="!validData.validRecipients">
    {{validationMsg}}
</div>

//js code here
$scope.invalidTagInput = function(tag) {
    $scope.validData.validRecipients = false;
};
4

0 に答える 0