これは私のHTML /角度です:
<form ng-submit="ctrl.add()">
<div class="form-group">
<label>Username</label>
<input type="text" ng-model="ctrl.user.username">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" ng-model="ctrl.user.password" required>
</div>
<div class="form-group">
<label>Email</label>
<input type="email" ng-model="ctrl.user.email" required>
</div>
<div class="form-group">
<label>Country</label>
<input type="text" ng-model="ctrl.user.userextended_set.country" ng-trim="false">
</div>
<input type="submit" value="Register" ng-disabled="myForm.$invalid">
</form>
問題は、ユーザーが「ユーザー名」または「国」セクションに入力せずに送信を押すと、AngularJS が辞書のキーとして「メール」と「パスワード」のみを使用して JSON オブジェクトをバックエンドに送信することです。「Username」および「Country」キーは辞書に存在しません (今後は、「Country」フィールドを「userextended_set」として参照してください。これは、私の ng-model のフィールドが呼び出されるためです)。AngularJS がそれを完全に省略しないようにし、少なくとも「null」の値でキーを送信するにはどうすればよいですか?
編集:「userextended_set」フィールドに ng-trim="false" があっても、最初に「userextended_set」に何も入力せずにフォームを送信すると、AngularJS は「userextended_set」を JSON のキーとして送信しないため、奇妙です。物体。しかし、「userextended_set」に何かを入力して削除し、送信を押すと、JSON は「userextended_set」をキーとして送信します。