Используя плагин TokenInput и используя встроенную проверку AngularJS formController.
Прямо сейчас я пытаюсь проверить, содержит ли поле текст, а затем установить поле действительным, если это так. Проблема с использованием плагина заключается в том, что он создает собственный ввод, а затем ul + li для stlying.
У меня есть доступ к addItem (formname) и моим возможностям в контроллере, мне просто нужно установить его на $ valid.
Разметка.
<form class="form-horizontal add-inventory-item" name="addItem">
<input id="capabilities" name="capabilities" token-input data-ng-model="inventoryCapabilitiesAutoComplete" data-on-add="addCapability()" data-on-delete="removeCapability()" required>
<div class="required" data-ng-show="addItem.capabilities.$error.required" title="Please enter capability."></div>
</form>
JS.
$scope.capabilityValidation = function (capability) {
if (capability.name !== "") {
addItem.capabilities.$valid = true;
addItem.capabilities.$error.required = false;
} else {
addItem.capabilities.$valid = false;
addItem.capabilities.$error.required = true;
}
};
Я запускаю функцию capacityValidation, когда TokenInput что-то вводит и передает в объект.
РЕДАКТИРОВАТЬ:
Обнаруженная ng-модель на моем входе делает что-то и получает результаты автозаполнения, поэтому я не могу заставить ng-valid работать, поскольку он основан на модели.
$scope.inventoryCapabilitiesAutoComplete = {
options: {
tokenLimit: null
},
source: urlHelper.getAutoComplete('capability')
};
Я не писал эту реализацию автозаполнения, есть ли другой способ сделать это, где у меня будет доступ к атрибуту ng-model и переместить функцию модели в другое место?
<div ... data-ng-show="capabilities_error" ...>
Другими словами, есть ли причина, по которой вы хотите / должны использовать FormController?