Firebase规则中的验证

时间:2019-03-05 09:56:08

标签: firebase firebase-realtime-database

我有一个像这样的JSON数据结构:

 食谱
   LZogi4JdMk_V5vLK_aA
       标题:“第一食谱”
   LZoh4QphqHknuvda0-f
       标题“秘方”
 

我想为每个配方中的标题制定规则(验证)。我尝试这样做:

 “规则”:{
  “食谱”:{
    “ .write”:“ auth!= null”,
    “ .read”:“ auth!= null”,
   “ $ title”:{
        “ .validate”:“ newData.isString()
             && newData.val()。length> 0
             && newData.val()。length <= 20“
  }
}
 

我认为我必须进入阵列配方中的每个对象,但是我不确定。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

根据Firebase文档和示例$用于表示ID和动态子键,当前您将$title视为每个配方的ID,因此您的规则应改为像这样:

"rules": {
  "recipes": {
    ".write": "auth != null",
    ".read": "auth != null",
    "$recipeId": {    //example: LZogi4JdMk_V5vLK_aA
      "title": {
        ".validate": "newData.isString() 
             && newData.val().length > 0
             && newData.val().length <= 20"
      }
    }
  }

以下是指向Firebase文档的链接: https://firebase.google.com/docs/database/security/securing-data#structuring_your_rules