From f76178dece7d5965d665912104e7b2f0af2e8756 Mon Sep 17 00:00:00 2001 From: bhaskarmelkani Date: Thu, 10 Nov 2016 19:23:23 +0530 Subject: [PATCH 1/2] Added tags validator function --- src/jquery.tagsinput.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/jquery.tagsinput.js b/src/jquery.tagsinput.js index b6c75e4..e1c73c1 100644 --- a/src/jquery.tagsinput.js +++ b/src/jquery.tagsinput.js @@ -87,6 +87,9 @@ if (options.unique) { var skipTag = $(this).tagExist(value); + if(!skipTag && tags_callbacks[id]['tagValidator']){ + skipTag = !tags_callbacks[id]['tagValidator'](value); + } if(skipTag == true) { //Marks fake input as not_valid to let styling it $('#'+id+'_tag').addClass('not_valid'); @@ -221,11 +224,12 @@ delimiter[id] = data.delimiter; - if (settings.onAddTag || settings.onRemoveTag || settings.onChange) { + if (settings.onAddTag || settings.onRemoveTag || settings.onChange || settings.tagValidator) { tags_callbacks[id] = new Array(); tags_callbacks[id]['onAddTag'] = settings.onAddTag; tags_callbacks[id]['onRemoveTag'] = settings.onRemoveTag; tags_callbacks[id]['onChange'] = settings.onChange; + tags_callbacks[id]['tagValidator'] = settings.tagValidator; } var markup = '
'; From 81c63908584a9955380635f5b38605d5cc2d9159 Mon Sep 17 00:00:00 2001 From: bhaskarmelkani Date: Thu, 10 Nov 2016 19:25:18 +0530 Subject: [PATCH 2/2] Updated readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a8abe7a..d821340 100644 --- a/README.md +++ b/README.md @@ -99,5 +99,6 @@ option to false. 'removeWithBackspace' : true, 'minChars' : 0, 'maxChars' : 0, // if not provided there is no limit - 'placeholderColor' : '#666666' + 'placeholderColor' : '#666666', + 'tagValidator': callback_function // function to validate a tag before it becomes a tag });