1

を使用してng-tags-input、許可されたタグのみを追加できるように入力を変更しようとしています。たとえば、配列に 'Tag1' は含まれていますが 'T1' は含まれていないため、入力バーに 'T1' が入力された場合、それは受け入れられませんが、'Tag1' は '許可されている' ためです。

ありがとう。

4

2 に答える 2

4

現在、そのような検証を実行する組み込みの方法はありません。しかし、別のアプローチを使用できると思います。

  • ディレクティブを使用autoCompleteして、有効な国コードのリストをユーザーに提供します。
  • addFromAutocompleteOnlyオプションをに設定するtrueと、オートコンプリート リストからのタグのみが許可されます。

HTML

<tags-input ng-model="countryCodes" add-from-autocomplete-only="true">
   <auto-complete source="loadCountryCodes($query)"></auto-complete>
</tags-input>

ワーキングプランク

于 2014-07-09T06:13:10.193 に答える
1

念のため、メール ID をチェックしようとしている場合は、以下にコードを示します。他の検証の場合は、それに応じて検証関数を変更してください。

HTML:

<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>

コントローラ:

$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);
}
于 2015-05-23T20:32:27.133 に答える