Validation doesnt work for File Input with 'Required' attribute- AngularJS

≡放荡痞女 提交于 2019-12-01 01:32:26

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!