我需要使用Angularjs验证隐藏的输入文件字段,Ngdirty或其他表达式不能与隐藏元素一起使用。
<form name="myForm">
<label for="selectFileForImport" class="form-control boldFormInputText" ng-class="{ 'has-error':!ctrl.isValidFile()&&myForm.myFile.$dirty,'valid-file':ctrl.isValidFile()}"></label>
<input type="file" accept=".csv" name="myFile" id="selectFileForImport" file="ctrl.file" ng-hide="true" required>
</form>
控制器:
isValidFile(): boolean {
return (this.file != null && this.getFileExtension(this.file.name.toLowerCase()) == 'csv');
}
CSS:
.has-error{
border-color: red;
}
.valid-file{
border-color: green;
}