2016-08-27 8 views
1

私はこのような構造だデータベースを持っている:なぜデータ書き込みが検証されないのですか?

私は、ユーザーがそれらの一つ一つが、数が彼のx、y、zデータを更新したときに、彼らはすべての中にいることをことを検証する
flairs 
    |_____User1 
    |  |__x: 1 
    |  |__y: 1 
    |  |__z: 1 
    | 
    |_____User2 
      |__x: 1 
      |__y: 1 
      |__z: 1 

ある範囲。私は、次のルールを書いた:

"flairs": { 
     "$user": { 
     ".write": "auth != null", 
     ".validate": "newData.hasChildren(['x','y','z']) && 
         newData.child('x').isNumber() && 
         newData.child('x').val() > -2 && 
         newData.child('x').val() < 11 && 
         newData.child('y').isNumber() && 
         newData.child('y').val() > -2 && 
         newData.child('y').val() < 8 && 
         newData.child('z').isNumber() && 
         newData.child('z').val() > 0 && 
         newData.child('z').val() < 4" 
     } 
    } 

基本的に私は、新しいデータがx、y、z子供を持っており、彼らは一定の範囲内のすべての整数だことを確認してください。私はflairs/User1に次のデータを書き込みしようとしたときしかし、私は、ユーザーが認証されていても拒否された書き込みを得る:

{ 
    "User1": {"x":1,"y":2,"z":1} 
} 

誰もが私が間違っているかもしれないものを知っていますか? sim

答えて

2

あなたはパス/flairs/User1に書いているし、あなたが書いている:

{ 
    "User1": {"x":1,"y":2,"z":1} 
} 

だから、最終的な結果は/flairs/User1/Users/xなり、などに応じて、有効ではありませんここに私のシミュレータの画像ですあなたのルール

{"x":1,"y":2,"z":1} 
+0

をし、いつものようにフランクは...救助に応答のための感謝とコミュニティで非常に積極的であることを来る:

あなたは書きたいと思うでしょう。 – MarksCode

関連する問題