diff --git a/History.md b/History.md
index efea237..414cfe0 100644
--- a/History.md
+++ b/History.md
@@ -3,3 +3,9 @@
* Renamed module to just `file-model` (Fixes #2)
* basic test file
+
+0.4.0 / 2018-01-10
+==================
+
+ * Use default angular ngModel
+ * Set model Validity
diff --git a/README.md b/README.md
index 28584b5..9c85e53 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ Ready to use in your controllers!:
`file.html`:
-
+
`controller.js:`
diff --git a/angular-file-model.js b/angular-file-model.js
index d0159b3..4bbc81a 100644
--- a/angular-file-model.js
+++ b/angular-file-model.js
@@ -10,28 +10,27 @@
angular.module('file-model', [])
- .directive('fileModel', [
- '$parse',
- function ($parse) {
+ .directive('fileModel', function () {
return {
+ require: 'ngModel',
restrict: 'A',
- link: function(scope, element, attrs) {
- var model = $parse(attrs.fileModel);
- var modelSetter = model.assign;
+ link: function($scope, element, attrs, ngModel) {
+ var checkIsValid = function(){
+ ngModel.$setValidity('validFile', element.val() !=='');
+ };
+
+ checkIsValid();
- element.bind('change', function(){
- scope.$apply(function(){
- if (attrs.multiple) {
- modelSetter(scope, element[0].files);
- }
- else {
- modelSetter(scope, element[0].files[0]);
- }
+ element.bind('change', function () {
+ $scope.$apply(function () {
+ checkIsValid();
+ ngModel.$setViewValue(attrs.multiple ? element[0].files : element[0].files[0]);
+ ngModel.$render();
});
});
}
};
}
- ]);
+ );
})();
diff --git a/bower.json b/bower.json
index 9eff788..e93b81a 100755
--- a/bower.json
+++ b/bower.json
@@ -1,9 +1,10 @@
{
"name": "angular-file-model",
- "version": "0.3.1",
+ "version": "0.4.0",
"authors": [
"Jose Luis Rivas ",
- "Paul-Louis Nech "
+ "Paul-Louis Nech ",
+ "Marc Mascort Bou "
],
"description": "Angular support for file in models",
"main": "angular-file-model.js",
diff --git a/package.json b/package.json
index c3ac6d9..b3f01a3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "angular-file-model",
- "version": "0.3.1",
+ "version": "0.4.0",
"description": "Angular support for file in models",
"main": "angular-file-model.js",
"scripts": {
diff --git a/test.js b/test.js
index 661c7c9..0cbe319 100644
--- a/test.js
+++ b/test.js
@@ -17,7 +17,7 @@ describe('angular-file-model directive', function () {
it('', function () {
$rootScope.fileModel = '';
- var element = $compile('')
+ var element = $compile('')
($rootScope);
$rootScope.$digest();
console.log($rootScope.fileModel);