I\'ve found some strange behavior: angular trims model values by default. And quick googling doesn\'t help me to solve this problem. I\'ve found ng-no-trim
dire
Fallback for angular 1.0.x
var app = angular.module('app', []);
app.directive('ngTrim', function() {
return {
require: 'ngModel',
priority: 300,
link: function(scope, iElem, iAttrs, ngModel) {
if (iAttrs.ngTrim === 'false') {
// Be careful here. We override any value comming from the previous
// parsers to return the real value in iElem
ngModel.$parsers.unshift(function() {
return iElem.val();
});
}
}
}
});
angular.bootstrap(document, ['app']);
http://jsfiddle.net/vXCnj/3/
You can enable/disable trim option by using ng-trim=true/false. Ref https://docs.angularjs.org/api/ng/input/input%5Btext%5D
The directive in question is new in 1.1.1; you can see it working using JS Bin snippet.
<textarea cols="30" rows="10" ng-model="text" ng-trim="false"></textarea>