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