首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在函数中添加或删除带有ng标记的标记

如何在函数中添加或删除带有ng标记的标记
EN

Stack Overflow用户
提问于 2014-07-07 20:15:51
回答 2查看 6.2K关注 0票数 1

我正在使用ng-tags-input,并试图修改输入,以便只能添加允许的标记。例如,一个数组包含'Tag1‘而不是'T1',所以当'T1’被输入到输入栏时它是不被接受的,但是'Tag1‘是因为它是’允许‘的。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-07-09 06:13:10

目前还没有内置的方式来执行这样的验证。但我认为你可以用另一种方法:

  • 使用autoComplete指令向用户提供有效的国家代码列表;
  • addFromAutocompleteOnly选项设置为true,因此只有来自自动完成列表的标记才被允许。

代码语言:javascript
复制
<tags-input ng-model="countryCodes" add-from-autocomplete-only="true">
   <auto-complete source="loadCountryCodes($query)"></auto-complete>
</tags-input>

工作装置

票数 4
EN

Stack Overflow用户

发布于 2015-05-23 20:32:27

以防万一正在试图检查电子邮件ID,下面是代码。在发生其他验证时,请相应地更改验证函数。

HTML:

代码语言:javascript
复制
<tags-input ng-model="tagList" add-on-space="true" add-on-comma="true" add-on-blur="true" add-on-enter="true" on-tag-added="tagAdded($tag);" placeholder="Add comma separated email id's" ></tags-input>

控制器:

代码语言:javascript
复制
$scope.tagList = ['abc.def@gmail.com', 'pqr.stu@gmail.com'];
$scope.tagAdded=function(tag){    
    var textEntered=tag.text;       
    var isVaildEmail=validateEmail(tag.text);
    console.log($scope.tagList);
    if(isVaildEmail){
       console.log(true); //do something
    }
    else{
       $scope.tagList.splice($scope.tagList.indexOf(tag),1); //remove the aded tag from ng-model of the input. i.e. tagList
    } 
}
function validateEmail(email) {
    var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    return re.test(email);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24619053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档