验证对于具有“必需”属性 - AngularJS的文件输入不起作用

时间:2014-04-01 19:41:40

标签: javascript angularjs validation angularjs-scope angularjs-ng-form

我一直在玩这个并且无法让它发挥作用。我正在创建一个角形表单,当required属性添加到文本字段时,我能够使验证工作。但是,如果输入类型file添加了required归因,我注意到$error.required文本已显示但即使选择了文件也无法验证。即使添加文件后,它仍然显示为无效。我在jsfiddle中创建了一个示例,因此您可以查看:http://jsfiddle.net/Alien_time/kxSaz/6/

验证不适用于文件输入吗?如何在使用文件选择时添加必需的选项并进行验证?

1 个答案:

答案 0 :(得分:13)

ngModelController目前不支持input type = file。

您可以使用自定义指令解决您的问题。

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