2

「住所」セクションのあるフォームがあります。$http ポスト リクエストを使用して、フォーム データをサーバーに送信します。

アドレス フィールドに何も入力しない場合 (元の状態)、サーバーに送信するオブジェクト データにアドレス データは含まれません。

アドレス フィールドに何かを入力してから、入力した内容を削除(空白のまま) すると、サーバーへの JSON ポストに空のフィールドが含まれます。

{
    street:"",
    city:""
} 

フィールドが空白の場合、(オプションの) 住所データを含めたくありません。

個々のフォーム フィールドが空白のままになっている場合、それらを簡単に「初期状態」にリセットする方法はありますか?

4

3 に答える 3

0

値を監視し、空であることを確認してから、手動で元の状態にリセットできます

$scope.$watch('inputName',function(newVal){
  if(newVal ==="")
     $scope.form.inputName.$pristine = true;
});
于 2013-07-25T17:07:51.483 に答える
0

空のフィールドを無効にするために ng-pattern を使用できると思います。これにより、送信されたオブジェクトにそれらが追加されなくなります。そのようなものをコントローラーに追加します

$scope.nonEmpty=/^(.+)$/i

次にHTMLで

...< 入力 ... ng-pattern='nonEmpty' ... >

フィールドが空の場合、パターンに一致しないため追加されません。それ以外の場合は送信されます

于 2013-07-23T23:03:17.423 に答える
0

何かを初期状態に設定する唯一の方法は手動です。つまり、フォームが一度触れられると、別の指示があるまで触れられます。

おそらく、更新機能でフォーム フィールドの値をチェックし、元の状態に依存することになるでしょう。

于 2013-07-23T15:50:48.687 に答える