问题
I have been playing around this and couldnt get it to work. I was creating an angular form and I was able to get the validation to work when required
attribute is added to the text field. However, if a input type file
is added with required
attribution, I noticed that the $error.required
text is shown but it doesnt validation even if a file is chosen. Its still showing as invalid even after adding a file. I have created a sample in jsfiddle so you can check this out: http://jsfiddle.net/Alien_time/kxSaz/6/
Doesnt validation work for file inputs? How can I add a required option and validate it when using file select?
回答1:
ngModelController doesn't currently support input type=file.
you can solve your issue with a custom directive.
app.directive('validFile',function(){
return {
require:'ngModel',
link:function(scope,el,attrs,ngModel){
el.bind('change',function(){
scope.$apply(function(){
ngModel.$setViewValue(el.val());
ngModel.$render();
});
});
}
}
});
see usage here
来源:https://stackoverflow.com/questions/22795404/validation-doesnt-work-for-file-input-with-required-attribute-angularjs