在angularjs

时间:2017-08-11 04:30:20

标签: javascript angularjs

您好我正在开发angularjs中的Web应用程序。我正在开发文件上传模块。我有一个表单和内部表单我有文件上传控制。如果文件没有上传,点击提交(提交表格),然后我想让文件控制为红色。我设计了css类来使文件控制变红。

 <div class="upload-button bank button1" ng-class="{'has-error': 
      vm.hasFileInputError(myFileID) }">
       <div class="upload-button-icon" >
             <span class="text">{{ 'ID' | translate }}</span>
                    <input type="file" file-modelsr="myFileID" />
       </div>
   </div>

我在javascript中编写验证规则。

 $scope.vm = {};
            function hasFileInputError(myFileID) {
                return this.form2.$submitted && this.form2.myFileID.$invalid ||
                  form2.myFileID.$invalid && form2.myFileID.$dirty;
            }

如果文件没有上传,点击提交按钮,我想让文件控制为红色。这不会发生。我想弄清楚这个问题,但没有成功。我可以帮忙解决这个问题吗?谢谢。

1 个答案:

答案 0 :(得分:1)

您已将myFileID传递给我们。那你为什么需要$form验证?因为如果任何其他字段无效,则form.&dirty始终返回false。

更好地改变你的方法就好像

vm.hasFileInputError = function (myFileID) {
                return myFileID == undefined || myFileID == '' ? true : false
            }

编辑:

你应该阅读这个讨论:enter image description here