Utilizzando il TokenInput plug-in e l'utilizzo AngularJS built-in di convalida formController.
In questo momento sto cercando di verificare se il campo contiene testo, quindi impostare il campo su valido se lo fa. Il problema con l'utilizzo del plug-in è che crea il proprio input e quindi un ul + li per lo stlying.
Ho accesso a addItem (formname) e alle mie capacità nel controller, devo solo impostarlo su $ valid.
Markup.
<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;
}
};
Sto eseguendo la funzione CapacityValidation quando TokenInput ha qualcosa inserito e che passa nell'oggetto.
MODIFICARE:
Ho scoperto che ng-model sul mio input fa cose e ottiene i risultati del completamento automatico, motivo per cui non riesco a far funzionare ng-valid poiché è basato sul modello.
$scope.inventoryCapabilitiesAutoComplete = {
options: {
tokenLimit: null
},
source: urlHelper.getAutoComplete('capability')
};
Non ho scritto questa implementazione del completamento automatico, c'è un altro modo per farlo in cui avrei accesso a ng-model attr e spostare la funzione del modello da qualche altra parte?
addItem.capabilities.$valid = true
e / o hai impostato addItem.capabilities. $ Error.required su true o false a seconda dei casi?
<div ... data-ng-show="capabilities_error" ...>
In altre parole, c'è una ragione per cui vuoi / devi usare FormController?