2016-07-28 13 views
3

私はそうのような私のアプリでテキストエリアがあります。角度テキストエリア検証エラー

<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

私は必要なタグを使用した場合にのみ発生します。私は必要なタグを使用しない場合、うまく動作し、すべてのテキストを削除した後でも、バックグラウンド変数はスコープ内にとどまります。

私は間違っています。

+0

あなたのコントローラで作成され、 'experience'と' background'が含まれているオブジェクト、ですか? – KreepN

+0

@KreepNはい、そんなに '$ scope.obj = {}' – Skywalker

+0

自分でそれをチェックして、それはいくつかの狂ったものです。上記の問題に関する文書も見つかりません。他の誰かがいくつかの洞察を持っていることを願っています – KreepN

答えて

0

バックスペースを使用してすべてのテキストを削除する間、バックグラウンドは未定義です。

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); 
 
    
 
} 
 

 
});
<!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="[email protected]"></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>