HTML: direttivaCome per convalidare forma con l'input [type = file] in angularjs
<form name="form">
<input type="file" ng-model="document" valid-file required>
<input type="submit" value="{{ !form.$valid && 'invalid' || 'valid' }}">
</form>
personalizzato per ascoltare l'input [type = file] modifiche:
myApp.directive('validFile',function(){
return {
require:'ngModel',
link:function(scope,el,attrs,ngModel){
//change event is fired when file is selected
el.bind('change',function(){
scope.$apply(function(){
ngModel.$setViewValue(el.val());
ngModel.$render();
});
});
}
};
});
Quando si seleziona il file seguente errore viene visualizzato nella console:
Error: InvalidStateError: DOM Exception 11 Error: An attempt was made to use an object that is not, or is no longer, usable.
Prova con plunkr: http://plnkr.co/edit/C5j5e0JyMjt9vUopLDHc?p=preview
Senza la direttiva lo stato del campo del file di input non verrà inserito nella forma. $ Valido. Qualche idea per cui ottengo questo errore e come risolverlo?
+1 WOW grande, l'errore è andato grazie !! –
Works. Ora ho bisogno di imparare perché. Angolare è voodoo, amico. – DrHall
dolce! ha funzionato perfettamente per me +1! – user1429166