角度textarea验证错误

时间:2016-07-28 14:15:42

标签: javascript angularjs textarea

我的应用中有一个textarea如下:

<textarea type="text" class="form-control" name="bioBackground" ng-model="obj.background" value="obj.background" ng-change="autosave()" maxlength="1500" required></textarea>

这是必需字段,您可以看到我在代码中添加了必需的标记。但是这个必需的标签会导致Angular出错。

例如:

如果我输入字段和退格并删除所有文本,它会从范围中删除对象。见下面的例子:

在退格之前

您可以看到背景变量在范围内。

enter image description here

退回并删除文字后

您可以看到背景变量已从范围消失。

enter image description here

只有在我使用必需标签时才会发生这种情况。如果我不使用所需的标签,它可以正常工作,甚至在删除所有文本后,背景变量仍然在范围内。

我做错了什么。

1 个答案:

答案 0 :(得分:0)

其工作,背景未定义,同时使用退格删除所有文本。

&#13;
&#13;
var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.obj = {
"experience":{
"field0":"asdf",
"field1":"asss"
},
"background":""
};
console.log($scope.obj);
$scope.autosave=function(){
 console.log($scope.obj); 
  
}

});
&#13;
<!DOCTYPE html>
<html>

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link href="style.css" rel="stylesheet" />
    <script data-semver="1.4.9" src="https://code.angularjs.org/1.4.9/angular.js" data-require="angular.js@1.4.x"></script>
    <script src="app.js"></script>
  </head>

  <body ng-app="plunker" ng-controller="MainCtrl">
    <textarea type="text" class="form-control" name="bioBackground" ng-model="obj.background" value="obj.background" ng-change="autosave()" maxlength="1500" required></textarea>
  </body>

</html>
&#13;
&#13;
&#13;