2016-12-03 101 views
1

我一對夫婦的火力地堡數據庫驗證規則方面的不明確,以及已經read the documentation a couple of times我的具體情況/問題如下:使用的多個驗證規則

我的數據方案是這樣的:

{ 
    "aNumber" : 0.794180524700695, 
    "clicks" : 11 
} 

我目前的驗證規則是這樣的:

{ 
    "rules": { 
    ".validate": "newData.child('aNumber').isNumber()", 
    ".read": true, 
    ".write": true  
    } 
} 

這個規則目前允許「aNumber的」,如果它是一個數字寫,但我會也想驗證字段「點擊」是一個數字。

我嘗試使用和操作員(& &):

{ 
    "rules": { 
    ".validate": "newData.child('aNumber').isNumber() && 
       newData.child('clicks').isNumber()", 
    ".read": true, 
    ".write": true  
    } 
} 

但是,當我只更新一個字段失敗:

{ 
"aNumber": 2 
} 

我將如何驗證這個? ,一般驗證多個獨立領域的好方法是什麼?

感謝

回答

3

所以經過一些嘗試我找到了答案,以我自己的問題:

我的新規則是這樣的:

{ 
"rules": { 
    ".read": true, 
    ".write": true, 
    "aNumber": { 
     ".validate": "newData.isNumber()" 
    }, 
    "clicks": { 
     ".validate": "newData.isNumber()" 
    }     
} 
} 

因此,而不是全球驗證了特定的子節點,驗證發生在規則中的特定節點級別,這對某些人來說可能是顯而易見的,但是我花了一些時間才意識到。

+0

如果我想把它放在數據庫中的特定目錄中,我只需要另一個括號括起來? – CraftedGaming