HTML: DyrektywaJak walidacji formularza z wejściem [type = file] w angularjs
<form name="form">
<input type="file" ng-model="document" valid-file required>
<input type="submit" value="{{ !form.$valid && 'invalid' || 'valid' }}">
</form>
niestandardowa do słuchania dla wejścia [type = file] Zmiany:
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();
});
});
}
};
});
Kiedy plik zostanie wybrany po pojawia się błąd w konsoli:
Error: InvalidStateError: DOM Exception 11 Error: An attempt was made to use an object that is not, or is no longer, usable.
spróbuj plunkr: http://plnkr.co/edit/C5j5e0JyMjt9vUopLDHc?p=preview
Bez tej dyrektywy stan pola pliku wejściowego nie zostanie naciśnięty do formularza. $ Valid. Jakieś pomysły, dlaczego dostaję ten błąd i jak to naprawić?
+1 WOW wielki, błąd zniknął dziękuję !! –
Działa. Teraz muszę się dowiedzieć, dlaczego. Angular to voodoo, człowieku. – DrHall
słodki! działało idealnie dla mnie +1! – user1429166