Użycie wtyczki TokenInput i użycie wbudowanego w AngularJS walidacji formController.
W tej chwili próbuję sprawdzić, czy pole zawiera tekst, a następnie ustawić pole na prawidłowe, jeśli tak. Problem z używaniem wtyczki polega na tym, że tworzy ona swoje własne dane wejściowe, a następnie ul + li do ustawiania.
Mam dostęp do addItem (formname) i moich możliwości w kontrolerze, wystarczy ustawić go na $ valid.
Narzut.
<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;
}
};
Uruchamiam funkcję capacityValidation, gdy TokenInput ma coś wprowadzonego i przekazanego do obiektu.
EDYTOWAĆ:
Okazało się, że ng-model na moim wejściu robi rzeczy i otrzymuje wyniki autouzupełniania, dlatego nie mogę zmusić ng-valid do pracy, ponieważ jest oparty na modelu.
$scope.inventoryCapabilitiesAutoComplete = {
options: {
tokenLimit: null
},
source: urlHelper.getAutoComplete('capability')
};
Nie napisałem tej implementacji autouzupełniania, czy jest inny sposób, aby to zrobić, w którym miałbym dostęp do atr ng-model i przenieść funkcję modelu w inne miejsce?
<div ... data-ng-show="capabilities_error" ...>
Innymi słowy, czy istnieje powód, dla którego chcesz / musisz używać FormController?