2

これは私の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」をキーとして送信します。

4

1 に答える 1