Select2 - disable the user input as a choice

Select2 - disable the user input as a choice

I'm trying to set datas from ajax in a select2 select...

But the problem is that if I write something which isn't in my datas i can select this choice anyway !


And this will take this value "I don't exist" ... The formatNoMatches() function seems not to be called ...

My code : 

$(".select2-ajax").select2({ ajax: { url: "ajax.call.php", type:'POST', dataType: 'json', data: function (params) { return { nom: params.term, // search chars page: params.page, }; }, processResults: function (data, page) { console.log(data.data); if(typeof(data.data)=='undefined' || !data.data || data.data.length <= 0) var res = []; else { var res = []; for (var i = data.data.length - 1; i >= 0; i--) { res.push({"text":data.data[i]["nom"]+' '+data.data[i]["prenom"],"id":data.data[i]["id_salarie"]}); }; } return { results: res}; }, cache: true }, formatNoMatches: function( term ) { return "<li class='select2-no-results'>' "+term+" ': Aucun résultat</li>"; }, allowClear: true, language: 'fr', multiple: false, selectOnBlur:false,
createSearchChoice: false,
escapeMarkup: function (markup) { return markup; }, // I don't even know what is this !?
minimumInputLength: 1,
});